D3DPOOL——DEFAULT和D3DPOOL_MANAGED

来源:百度文库 编辑:神马文学网 时间:2024/04/27 23:08:15
D3DPOOL_DEFAULT,通过这个方式创建的资源一般会直接放在显存里。
D3DPOOL_MANAGED,通过这个方式创建的资源先放在内存里,在渲染的时候会自动拷到显存里。
所以可以得到两个结论:
1、当device丢失的时候,通过D3DPOOL_DEFAULT创建的资源必须重新创建,而通过D3DPOOL_MANAGED创建的不用(除非这个device被销毁或者重新创建)。
2、像vertex buffer和index buffer这种会经常改变内容的资源不应该通过D3DPOOL_MANAGED来创建,因为把数据从内存拷贝到显存会带来性能上的严重损失。有一个例子就是在Direct3D显示禁止用D3DPOOL_MANAGED创建render target。