Repository navigation
Graphics Baseline Output
This guide explains the output when running graphics baselines and graphics performance tests in the Metal Performance Tester tool. The tool uses real GPU performance counter data and multi-iteration statistical analysis for accurate and reliable performance measurements.
Running 100 iterations to create graphics baseline...
Progress: (100/100)
------------------------------------------------------------
GRAPHICS PERFORMANCE BASELINE
Graphics Baseline Configuration:
- Baseline: Ultra High Graphics Baseline
- Device: Apple M1 Pro
- Triangle count: 10000
- Geometry complexity: 10/10
- Resolution: 7680x4320
- Resolution scale: 1.0x
Running 100 iterations to create graphics baseline: The operation being executed with statistical sampling
Graphics Baseline Configuration: The baseline configuration details
- Baseline: The name of the baseline preset being used
- Device: The GPU hardware being tested (e.g., AMD Radeon Pro 5300M)
- Triangle count: Number of triangles being rendered
- Geometry complexity: Complexity level from 1/10 to 10/10
- Resolution: The render target dimensions (width × height)
- Resolution scale: Scaling factor applied to the base resolution
Frequency:
- FPS: 30 (30.5 - 32.2)
Render Time:
- Average: 66.745 ms
- Standard Deviation: 0.744 ms
- Range: 66.349 - 73.526 ms
- Median: 66.632 ms
Stage Utilization:
- Average Vertex Utilization: 21.0%
- Average Fragment Utilization: 61.2%
- Average Total Utilization: 26.5%
Memory Statistics:
- Memory Bandwidth: 43279.0 MB/s
- Cache Hits: 9.0
- Cache Misses: 0.0
- Cache Hit Rate: 100.0%
- Instructions Executed: 43177600
Frequency:
- FPS: Frames per second with confidence interval (min - max)
- Shows real-time performance capability of the GPU
Render Time:
- Average: Average GPU execution time across all iterations
- Standard Deviation: Measure of variability in the measurements
- Range: Minimum and maximum values observed
- Median: Middle value when all measurements are sorted
Stage Utilization: Real GPU utilization metrics from hardware counters
- Average Vertex Utilization: Real vertex shader utilization from GPU hardware
- Average Fragment Utilization: Real fragment shader utilization from GPU hardware
- Average Total Utilization: Real overall GPU utilization from hardware
Memory Statistics: Real GPU memory performance from hardware counters
- Memory Bandwidth: Actual memory bandwidth usage in MB/s from GPU hardware
- Cache Hits: Real cache hit count from GPU hardware
- Cache Misses: Real cache miss count from GPU hardware
- Cache Hit Rate: Real cache efficiency percentage from hardware
- Instructions Executed: Estimated instruction count based on workload complexity
Understanding Stage Utilization Values:
- High Utilization (80-100%): GPU is working efficiently, good performance
- Medium Utilization (50-80%): Balanced workload, typical for most applications
- Low Utilization (<50%): May indicate underutilization or bottleneck in other pipeline stages
Understanding Memory Performance:
- High Cache Hit Rate (90-100%): Excellent memory efficiency, no memory bottlenecks
- Medium Cache Hit Rate (70-90%): Good memory performance with some cache misses
- Low Cache Hit Rate (<70%): Potential memory optimization opportunities
Hardware-Based Metrics: The Metal Performance Tester uses real GPU performance counter data from the Metal performance sampling system:
- Memory Bandwidth: Direct measurement from GPU memory subsystem
- Cache Hits/Misses: Real cache performance counters from GPU hardware
- Stage Utilization: Actual GPU shader utilization from hardware
- Instructions Executed: Intelligent estimates when hardware counters aren't available
Vendor-Specific Support:
- AMD GPUs: Full support for memory bandwidth and cache metrics
- Intel GPUs: Compatible with Metal performance counter system
- Apple Silicon: Native Metal performance counter integration
- Render Time: Primary performance metric (real GPU execution time)
- FPS: Real-time performance capability
- Memory Bandwidth: Real GPU memory subsystem performance
- Cache Hit Rate: Real memory access efficiency from hardware
- Render Time: Used for baseline comparison with statistical analysis
- Stage Utilization: Real GPU utilization to identify bottlenecks
- Memory Performance: Hardware-based memory efficiency metrics
- Vertex vs Fragment Utilization: Real GPU shader utilization from hardware
- Cache Performance: Real memory access patterns from GPU hardware
- Instructions Executed: Workload complexity analysis
- Memory Bandwidth: Real memory subsystem performance
- GPU time increases roughly quadratically with pixel count
- Fragment shader utilization increases with higher resolutions
- Memory bandwidth requirements scale with resolution
- GPU time increases with triangle count
- Vertex shader utilization increases with more geometry
- Cache performance may degrade with complex geometry
- Higher complexity affects both vertex and fragment processing
- Smaller triangles (higher complexity) stress fragment shaders more
- Memory access patterns change with complexity levels
The Graphics Test Results doc can be found here.
The main project Metal Performance Tester README is here.