我正在爲現有的C++ DirectX9應用程序編寫插件。一切工作正常,直到他們決定切換到IDirect3DDevice9Ex出於性能原因。DirectX託管池
現在我得到 使用「D3DXCreateFontA」呈現文本時,出現「D3DPOOL_MANAGED與IDirect3DDevice9Ex無效」錯誤。
問題:在使用IDirect3DDevice9Ex時是否有一些解決方法來繪製文本,或者一些好的庫允許我在不使用託管紋理的情況下繪製文本?
我正在爲現有的C++ DirectX9應用程序編寫插件。一切工作正常,直到他們決定切換到IDirect3DDevice9Ex出於性能原因。DirectX託管池
現在我得到 使用「D3DXCreateFontA」呈現文本時,出現「D3DPOOL_MANAGED與IDirect3DDevice9Ex無效」錯誤。
問題:在使用IDirect3DDevice9Ex時是否有一些解決方法來繪製文本,或者一些好的庫允許我在不使用託管紋理的情況下繪製文本?
管理池將資源的副本保留在系統內存中。這允許進程將圖形設備釋放到其他程序,然後能夠使用系統內存中的副本重新創建任何丟失的資產。
要解決此問題,請嘗試使用集中式資源緩存,該資源緩存將丟失設備上的所有資源,然後在設備恢復時重新創建它們。
不是很有幫助。 「D3DXCreateFont」是封閉的源我不能操縱它... – Listing 2011-12-16 22:40:33