I am using camerapick quite often without a considerably loss of framerate. But i run the pick only every 100 ms or so. Then i call MouseX() only once per gameloop and store these values globally, thus whenever i need mousecoords i have them handy. Then you should avoid using 2d image commands. Get yourself one of the 3D-Font/Sprite/HUD engines.
-------------------------
www.moonworx.de
-------------------------
www.moonworx.de