Does anyone have any tutorials/info for creating and rendering fonts in native directx 9 that doesn’t use GDI? (eg doesn’t use ID3DXFont).
I’m reading that this isn’t the best solution (due to accessing GDI) but what is the ‘right’ way to render fonts in dx?
Does anyone have any tutorials/info for creating and rendering fonts in native directx 9
Share
ID3DXFont is a great thing for easy to use, early, debug output. However, it does use the GDI for font rasterization (not hardware accelerated) and there is a significant performance hit (try it, its actually very noticable). As of DirectX 11, though, fonts will be rendered with Direct2D and be hardware accelerated.
The fastest way to render text is using what’s called “Bitmap Fonts”. I would explain how to do this, except that there is a lot of different ways to do implement this technique, each differing in complexity and capability. It can be as simple as a system that loads a pre-created texture and draws the letters from that, or a system that silently registers a font with Windows and creates a texture in memory at load-time (The engine I developed with a friend did this, it was very slick). Either way, you should see a very noticable performance increase with bitmap fonts.