0

是否存在与 D3D11_INPUT_ELEMENT_DESC 结构中元素的类型/顺序相关的问题(性能或其他)?例如,我现在有一个这样定义的输入布局:

D3D11_INPUT_ELEMENT_DESC QuadInputLayoutDescription[] = {
    { "PRECT",  0, DXGI_FORMAT_R32G32B32A32_FLOAT,  0, 0,                               D3D11_INPUT_PER_INSTANCE_DATA, 1 },
    { "DEPTH",  0, DXGI_FORMAT_R32_FLOAT,           0, D3D11_APPEND_ALIGNED_ELEMENT,    D3D11_INPUT_PER_INSTANCE_DATA, 1 },
    { "TEXID",  0, DXGI_FORMAT_R32_UINT,            0, D3D11_APPEND_ALIGNED_ELEMENT,    D3D11_INPUT_PER_INSTANCE_DATA, 1 },
    { "SLICE",  0, DXGI_FORMAT_R32_FLOAT,           0, D3D11_APPEND_ALIGNED_ELEMENT,    D3D11_INPUT_PER_INSTANCE_DATA, 1 },
    { "UVRCT",  0, DXGI_FORMAT_R32G32B32A32_FLOAT,  0, D3D11_APPEND_ALIGNED_ELEMENT,    D3D11_INPUT_PER_INSTANCE_DATA, 1 },
    { "COLOR",  0, DXGI_FORMAT_R32G32B32A32_FLOAT,  0, D3D11_APPEND_ALIGNED_ELEMENT,    D3D11_INPUT_PER_INSTANCE_DATA, 1 } };

TEXID元素是类型UINT而不是FLOAT这里重要吗?是否首选针对四分量向量结构(float4)的“对齐”;R32G32B32A32_FLOAT我应该在布局开始时将所有 s 一起“打包”吗?有什么垫的吗?

4

1 回答 1

1

输入布局的主要性能问题是它们的总大小,因为它直接影响必须通过转换前和转换后顶点缓存的数据量。从历史上看,idea 的总大小是 32 字节或 64 字节。

否则,您使用的类型通常不会在性能方面产生很大差异。使用类型的限制是您的目标硬件功能级别

于 2014-06-26T18:50:18.840 回答