D3D11_USAGE_IMMUTABLE Verwendung ist ein weiterer Sonderfall, der dazu führt, dass die GPU daten nur einmal generiert, wenn Sie eine Ressource erstellen. D3D11_USAGE_IMMUTABLE eignet sich gut für Daten wie Texturen, da diese Daten in der Regel aus einem Dateiformat in den Arbeitsspeicher...
D3D11_USAGE_DEFAULT 值:0 需要GPU 的读取和写入访问权限的资源。 这很可能是最常见的使用选择。 D3D11_USAGE_IMMUTABLE 值:1 只能由 GPU 读取的资源。 它不能由 GPU 写入,并且完全不能由 CPU 访问。 此类资源必须在创建时进行初始化,因为创建后无法对其进行更改。
D3D11_USAGE_DEFAULT 值:0 需要GPU 的读取和写入访问权限的资源。 这很可能是最常见的使用选择。 D3D11_USAGE_IMMUTABLE 值:1 只能由 GPU 读取的资源。 它不能由 GPU 写入,并且完全不能由 CPU 访问。 此类资源必须在创建时进行初始化,因为创建后无法对其进行更改。
typedef enum D3D11_USAGE { D3D11_USAGE_DEFAULT = 0, D3D11_USAGE_IMMUTABLE = 1, D3D11_USAGE_DYNAMIC = 2, D3D11_USAGE_STAGING = 3, } D3D11_USAGE; 定数D3D11_USAGE_DEFAULT GPU による読み取りおよび書き込みアクセスを必要とするリソースです。これは最も一般的な使用法の選択です。
如果資源D3D11_USAGE_DEFAULT或D3D11_USAGE_IMMUTABLE,BindFlags 不能是零。 ID3D11Device::CreateUnorderedAccessView 功能層級行為差異 D3D_FEATURE_LEVEL_9_1不支援任何 9.* 功能層級。${REMOVE}$ D3D_FEATURE_LEVEL_9_2 D3D_FEATURE_LEVEL_9_3
再比如物体的贴图资源,每帧不需要改变,GPU 也不需要写入,因此 Usage 应该设置为 D3D11_USAGE_IMMUTABLE,另外不用设置 CPU 访问标志。 子资源(Subresource):一个资源下有一个至多个子资源,子资源表示数据本身,在创建资源时填写D3D11_SUBRESOURCE_DATA结构指定。
ByteWidth为缓存大小,字节为单位;Usage,对于不变化的顶点、索引缓存,我们设为为D3D11_USAGE_VERTEX_IMMUTABLE,此外,针对CPU对缓存的读、写权限,这个成员有多个类型,比如D3D11_USAGE_DEFAULT(CPU不可读写)、D3D11_USAGE_DYNAMIC(CPU可读写),D3D11_USAGE_STAGING(CPU可读,即可拷贝);BindFlags,针对顶点缓存为D3D11_BIN...
D3D11_USAGE_IMMUTABLE = 1, // GPU可读,CPU不可访问,如果选择这种方式必须得初始化buffer,你懂的 D3D11_USAGE_DYNAMIC = 2, // GPU只读,CPU只写 D3D11_USAGE_STAGING = 3 // 这种是CPU可以完全控制,GPU只能复制数据,与0完全相反。 } D3D11_USAGE; ...
指向描述 2D 纹理资源的子资源的D3D11_SUBRESOURCE_DATA结构的数组的指针。 创建 IMMUTABLE 资源时,应用程序无法为pInitialData指定NULL, (查看D3D11_USAGE) 。 如果资源是多重采样的,则 pInitialData必须为NULL,因为多重采样资源在创建时无法使用数据进行初始化。
EN在当今计算机应用广泛的领域中,了解系统的内存、CPU和GPU使用情况是非常重要的。对于开发人员和系统管理...