1
將數據發送到頂點着色器時,directX中的速度更快。float4 vs 4 floatX in directX
struct VertexInputType
{
float4 data : DATA; // x,y - POSITION, z - distance, w - size
}
VS
struct VertexInputType
{
float2 pos : POSITION;
float distance : DISTANCE;
float size : SIZE;
}
胡亂猜測是說,第一個是更快,因爲它在128位寄存器組。但我認爲有更好的答案。
根據常量緩衝區的包裝規則(https://msdn.microsoft.com/en-us/library/windows/desktop/bb509632(v=vs.85).aspx),它們將被同樣打包成一個float4寄存器,所以我會假設沒有任何區別,但第二個是更可讀性和可維護性:) – Gnietschow
這是輸入彙編程序在這裏,所以包裝規則不適用 – catflier