DirectX中处理文字方法有那么几种,1、DX自带的ID3DXFont,据说底层也是GDI;2、什么顶点生成之类的,少量文字还行,多了管理不过来
还有少量文字时可以用图片来排列,第个图片中一个文字,速度很快,毕竟是纹理渲染,但字太多了就麻烦,字体、颜色什么不能变,什么对齐要自己计算,麻烦。
最方便的,个人觉得用GDI+,能用GDI,当然就能用GDI+,GDI处理半透明麻烦啊,效率是比GDI+高那么一点点,GDI+处理文字很简单,先把文字八进制到纹理上,再渲染,效率也就不低了,毕竟并不是所有文字都需要实时渲染嘛,即使有,那也是很频繁使用的文字,做成图片就好(例如伤害值什么的,也就0-9+-号)
最后创建GDI、GDI+可以操作的纹理这几个参数是一定的MipLevels=1,Usage=0,Pool=D3DPOOL_MANAGED。