WDDM管理D3DPOOL_DEFAULT中的内存

在这个问题中,我看到我在DX9EX的D3DPOOL_DEFAULT中内存不足。 将我的用法从D3DUSAGE_DYNAMIC0 (静态用法)后,所有内容都运行良好,没有DX9错误。

在我的加载过程中,我以前会得到DX9的内存不足错误,现在我看到系统内存开始增长。 所以我认为WDDM正在管理我的纹理。

所以我的问题是,我真的在这里看到了内存管理吗? 我在复制和访问资源数据(Direct3D 10)中阅读了有关WDDM的内容,但我不确定是否属于DX9EX。 维基百科说: WDDM驱动程序允许video存储器进行虚拟化,并将video数据从video存储器分页到系统RAM中。

Direct3D9Ex公开了WDDM虚拟化内存行为,而WDDM上的Direct3D 9则模拟XPDM行为。 使用Direct3D9Ex,你永远不会得到“丢失的设备”,但你可以得到“设备已移除”。

“DYNAMIC”是一种特殊的行为,需要CPU和GPU都可以访问的内存,这取决于你的系统设置,所以你应该更喜欢使用“静态”数据。

在“ 为什么你的Windows游戏不会运行在2,147,352,576字节 ”