Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Improved PerfTest output. Compare to RGBA8. 30 frame warm-up + 30 frame benchmark. No printf spam to ensure GPU bound case.
PerfTest
To select adapter, use: PerfTest.exe [ADAPTER_INDEX]
Adapters found:
0: Radeon (TM) RX 480 Graphics
1: Intel(R) HD Graphics 530
2: Microsoft Basic Render Driver
Using adapter 0
Running 30 warm-up frames and 30 benchmark frames:
.............................XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Performance compared to Buffer<RGBA8>.Load random
Buffer<R8>.Load uniform: 11.008ms 3.900x
Buffer<R8>.Load linear: 11.187ms 3.838x
Buffer<R8>.Load random: 42.906ms 1.001x
Buffer<RG8>.Load uniform: 48.280ms 0.889x
Buffer<RG8>.Load linear: 48.685ms 0.882x
Buffer<RG8>.Load random: 48.246ms 0.890x
Buffer<RGBA8>.Load uniform: 42.911ms 1.001x
Buffer<RGBA8>.Load linear: 43.733ms 0.982x
Buffer<RGBA8>.Load random: 42.934ms 1.000x
Buffer<R16f>.Load uniform: 10.852ms 3.956x
Buffer<R16f>.Load linear: 10.840ms 3.961x
Buffer<R16f>.Load random: 42.820ms 1.003x
Buffer<RG16f>.Load uniform: 48.153ms 0.892x
Buffer<RG16f>.Load linear: 48.161ms 0.891x
Buffer<RG16f>.Load random: 48.161ms 0.891x
Buffer<RGBA16f>.Load uniform: 42.832ms 1.002x
Buffer<RGBA16f>.Load linear: 42.900ms 1.001x
Buffer<RGBA16f>.Load random: 42.844ms 1.002x
Buffer<R32f>.Load uniform: 10.852ms 3.956x
Buffer<R32f>.Load linear: 10.841ms 3.960x
Buffer<R32f>.Load random: 42.816ms 1.003x
Buffer<RG32f>.Load uniform: 48.158ms 0.892x
Buffer<RG32f>.Load linear: 48.161ms 0.891x
Buffer<RG32f>.Load random: 48.161ms 0.891x
Buffer<RGBA32f>.Load uniform: 42.827ms 1.002x
Buffer<RGBA32f>.Load linear: 42.913ms 1.000x
Buffer<RGBA32f>.Load random: 48.176ms 0.891x
ByteAddressBuffer.Load uniform: 13.403ms 3.203x
ByteAddressBuffer.Load linear: 11.118ms 3.862x
ByteAddressBuffer.Load random: 42.911ms 1.001x
ByteAddressBuffer.Load2 uniform: 13.503ms 3.180x
ByteAddressBuffer.Load2 linear: 48.235ms 0.890x
ByteAddressBuffer.Load2 random: 48.242ms 0.890x
ByteAddressBuffer.Load3 uniform: 16.646ms 2.579x
ByteAddressBuffer.Load3 linear: 42.913ms 1.001x
ByteAddressBuffer.Load3 random: 85.682ms 0.501x
ByteAddressBuffer.Load4 uniform: 21.836ms 1.966x
ByteAddressBuffer.Load4 linear: 42.929ms 1.000x
ByteAddressBuffer.Load4 random: 47.936ms 0.896x
ByteAddressBuffer.Load2 unaligned uniform: 13.454ms 3.191x
ByteAddressBuffer.Load2 unaligned linear: 48.150ms 0.892x
ByteAddressBuffer.Load2 unaligned random: 48.163ms 0.891x
ByteAddressBuffer.Load4 unaligned uniform: 21.765ms 1.973x
ByteAddressBuffer.Load4 unaligned linear: 42.853ms 1.002x
ByteAddressBuffer.Load4 unaligned random: 52.866ms 0.812x
StructuredBuffer<float>.Load uniform: 15.513ms 2.768x
StructuredBuffer<float>.Load linear: 10.895ms 3.941x
StructuredBuffer<float>.Load random: 42.885ms 1.001x
StructuredBuffer<float2>.Load uniform: 15.695ms 2.736x
StructuredBuffer<float2>.Load linear: 48.231ms 0.890x
StructuredBuffer<float2>.Load random: 48.217ms 0.890x
StructuredBuffer<float4>.Load uniform: 15.810ms 2.716x
StructuredBuffer<float4>.Load linear: 42.907ms 1.001x
StructuredBuffer<float4>.Load random: 48.224ms 0.890x
cbuffer{float4} load uniform: 17.249ms 2.489x
cbuffer{float4} load linear: 43.054ms 0.997x
cbuffer{float4} load random: 48.214ms 0.890x
Texture2D<R8>.Load uniform: 42.889ms 1.001x
Texture2D<R8>.Load linear: 42.877ms 1.001x
Texture2D<R8>.Load random: 42.889ms 1.001x
Texture2D<RG8>.Load uniform: 48.252ms 0.890x
Texture2D<RG8>.Load linear: 48.254ms 0.890x
Texture2D<RG8>.Load random: 48.254ms 0.890x
Texture2D<RGBA8>.Load uniform: 42.939ms 1.000x
Texture2D<RGBA8>.Load linear: 42.969ms 0.999x
Texture2D<RGBA8>.Load random: 42.945ms 1.000x
Texture2D<R16F>.Load uniform: 42.891ms 1.001x
Texture2D<R16F>.Load linear: 42.915ms 1.000x
Texture2D<R16F>.Load random: 42.866ms 1.002x
Texture2D<RG16F>.Load uniform: 48.234ms 0.890x
Texture2D<RG16F>.Load linear: 48.365ms 0.888x
Texture2D<RG16F>.Load random: 48.220ms 0.890x
Texture2D<RGBA16F>.Load uniform: 42.911ms 1.001x
Texture2D<RGBA16F>.Load linear: 42.943ms 1.000x
Texture2D<RGBA16F>.Load random: 85.655ms 0.501x
Texture2D<R32F>.Load uniform: 42.896ms 1.001x
Texture2D<R32F>.Load linear: 42.910ms 1.001x
Texture2D<R32F>.Load random: 42.871ms 1.001x
Texture2D<RG32F>.Load uniform: 48.239ms 0.890x
Texture2D<RG32F>.Load linear: 48.367ms 0.888x
Texture2D<RG32F>.Load random: 85.634ms 0.501x
Texture2D<RGBA32F>.Load uniform: 42.927ms 1.000x
Texture2D<RGBA32F>.Load linear: 64.284ms 0.668x
Texture2D<RGBA32F>.Load random: 85.638ms 0.501x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment