我正在为现有的C ++ DirectX9应用程序编写一个插件。一切正常,直到他们决定出于性能原因切换到IDirect3DDevice9Ex。
现在我明白了 使用“D3DXCreateFontA”呈现文本时,“D3DPOOL_MANAGED对IDirect3DDevice9Ex无效”错误。
问题:使用IDirect3DDevice9Ex时是否有一些解决方法来绘制文本,或者是一些允许我在不使用托管纹理的情况下绘制文本的好库?
答案 0 :(得分:4)
由于我不知道一个好的答案,也许这是同一个问题,有更多更好的答案:
祝你好运!答案 1 :(得分:-1)
管理池会在系统内存中保留资源的副本。这允许进程将图形设备释放到其他程序,然后能够使用系统内存中的副本重新创建任何丢失的资产。
要解决此问题,请尝试使用集中式资源缓存,该资源缓存会将所有资源转储到丢失的设备上,然后在设备恢复时重新创建它们。