Application-Managed 资源和分配策略(Direct3D 9)
在创建时指定D3DUSAGE_DYNAMIC,无法声明托管顶点缓冲区或索引缓冲区资源为动态。 这需要对顶点缓冲区内容进行每次修改的额外副本。 动态顶点缓冲区用于呈现从二进制空间分区树或其他可见性数据结构中提取的动态几何图形和数据。 这可以通过预先分配所需格式的缓冲区来实现。 然后,这些资源被包裹在一起,以支持应用程序内的资源管理器所需的应用程序。 动态顶点缓冲区的总数很小,因为应用程序将同时使用几个不同的顶点步幅,并且因为只有唯一步幅才需要不同的顶点缓冲区。 以这种方式管理动态资源时,请确保对资源的高频率需求不会显著降低应用程序的性能。
使用由 Direct3D 和应用程序管理的资源时,在创建 Direct3D 托管资源之前,在D3DPOOL_DEFAULT内存中分配应用程序管理的资源。 这使内存管理器能够保持可用内存的准确计数。
相关主题