Repository navigation
Graphics Test Results
Kel edited this page Sep 29, 2025
·
2 revisions
This document explains the output and interpretation of graphics performance tests in the Metal Performance Tester. Graphics tests measure GPU rendering performance using vertex and fragment shaders.
Graphics Test Configuration:
- Baseline: Low Graphics Baseline
- Device: AMD Radeon Pro 5300M
- Triangle count: 4000
- Geometry complexity: 6/10
- Resolution: 1280x720
- Resolution scale: 1.0x
| Parameter | Description | Impact on Performance |
|---|---|---|
| Baseline | Reference performance data for comparison | Determines what "normal" performance looks like |
| Device | GPU hardware being tested | Different GPUs have different performance characteristics |
| Triangle count | Number of triangles to render per frame | Higher count = more vertex processing workload |
| Geometry complexity | Shader complexity level (1-10) | Higher complexity = more GPU instructions per triangle |
| Resolution | Output resolution in pixels | Higher resolution = more fragment shader work |
| Resolution scale | Additional scaling factor | Multiplies the rendering workload |
Performance Comparison:
- Current FPS: 218.8
- Baseline FPS: 232.3
- FPS Change: -5.8%
- Current FPS: Average frames per second in the current test run
- Baseline FPS: Average frames per second from the reference baseline
-
FPS Change: Percentage difference between current and baseline performance
- Positive values: Performance improvement
- Negative values: Performance regression
- ±5%: Typically considered normal variance
- ±10%+: May indicate significant change
Statistical Analysis:
- Mean Difference: 0.265 ms
- Confidence Interval: [-0.019, 0.550] ms
- Statistical Significance: No
- Regression Detected: No
- Definition: Average difference in frame time between current and baseline
- Units: Milliseconds (ms)
-
Interpretation:
- Positive values = slower performance (higher frame time)
- Negative values = faster performance (lower frame time)
- Definition: Range where the true mean difference likely falls
-
Interpretation:
- Includes zero: No statistically significant difference
- Doesn't include zero: Statistically significant difference
- Example: [-0.019, 0.550] includes zero, so no significant change
- No: Observed difference is within normal measurement variance
- Yes: Observed difference is statistically meaningful
- No: Performance is within acceptable bounds
- Yes: Performance has significantly degraded
Quality Comparison:
- Current Quality: Poor
- Baseline Quality: Fair
Quality is based on Coefficient of Variation (CV) = Standard Deviation / Mean
| Rating | CV Range | Description | Typical Causes |
|---|---|---|---|
| Excellent | < 5% | Very consistent measurements | Ideal test conditions, stable system |
| Good | 5-10% | Good consistency | Minimal background load |
| Fair | 10-20% | Moderate variability | Normal system conditions |
| Poor | ≥ 20% | High variability | Background processes, thermal throttling |
- Higher quality: More reliable regression detection
- Lower quality: Still functional, but less precise
- Poor quality: May indicate system issues affecting consistency
Stage Utilization Comparison:
- Vertex Utilization: 43.1% (baseline: 43.8%, change: -1.5%)
- Fragment Utilization: 41.3% (baseline: 7.5%, change: +450.9%)
- Total Utilization: 43.1% (baseline: 43.5%, change: -0.9%)
- Definition: Percentage of GPU time spent on vertex processing
- Factors: Triangle count, vertex shader complexity
- Normal range: 20-60% for typical graphics workloads
- Definition: Percentage of GPU time spent on pixel/fragment processing
- Factors: Resolution, fragment shader complexity, overdraw
- Normal range: 30-80% for typical graphics workloads
- Warning: Large changes (>100%) may indicate test condition differences
- Definition: Overall GPU utilization across all rendering stages
- Calculation: Weighted average based on workload distribution
- Normal range: 40-90% for active rendering
- Small changes (±10%): Normal variance
- Medium changes (±25%): May indicate workload differences
- Large changes (±100%+): Likely test condition differences
NO SIGNIFICANT CHANGE: Graphics performance is within normal variance.
No action required.
- Performance difference is within normal measurement variance
- No regression or improvement detected
- Continue with normal development workflow
- Performance has significantly degraded
- Investigate recent changes (code, drivers, system)
- Consider reverting changes or optimizing code
- Performance has significantly improved
- Verify the improvement is intentional
- Update baseline if improvement is permanent
- Close background applications
- Check GPU temperature (thermal throttling)
- Disable automatic updates
- Run test during low system load
- Verify test configuration matches baseline
- Check for driver updates
- Ensure consistent system state
- Review recent code changes
- Check for system updates
- Verify test conditions match baseline creation
- Run tests during consistent system conditions
- Close unnecessary applications
- Allow system to stabilize before testing
- Use dedicated testing machine when possible
- Run during low system load
- Ensure stable thermal conditions
- Use representative test workloads
- Document system configuration
- Automate test execution
- Set appropriate thresholds (typically ±10%)
- Monitor quality trends
- Alert on consistent regressions
- Use Instruments to profile GPU usage
- Monitor Metal command buffer utilization
- Check for memory bandwidth bottlenecks
- Adjust triangle count for target performance
- Optimize shader complexity
- Balance vertex vs fragment workload
- Monitor GPU power consumption
- Check thermal management settings
- Verify memory allocation patterns