Skip to content

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.

Test Configuration Section

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

Configuration Parameters Explained

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 Section

Performance Comparison:
- Current FPS: 218.8
- Baseline FPS: 232.3
- FPS Change: -5.8%

FPS Metrics Explained

  • 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 Section

Statistical Analysis:
- Mean Difference: 0.265 ms
- Confidence Interval: [-0.019, 0.550] ms
- Statistical Significance: No
- Regression Detected: No

Statistical Metrics Explained

Mean Difference

  • 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)

Confidence Interval

  • 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

Statistical Significance

  • No: Observed difference is within normal measurement variance
  • Yes: Observed difference is statistically meaningful

Regression Detected

  • No: Performance is within acceptable bounds
  • Yes: Performance has significantly degraded

Quality Comparison Section

Quality Comparison:
- Current Quality: Poor
- Baseline Quality: Fair

Quality Ratings Explained

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

Why Quality Matters

  • Higher quality: More reliable regression detection
  • Lower quality: Still functional, but less precise
  • Poor quality: May indicate system issues affecting consistency

Stage Utilization Comparison

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%)

Utilization Metrics Explained

Vertex Utilization

  • Definition: Percentage of GPU time spent on vertex processing
  • Factors: Triangle count, vertex shader complexity
  • Normal range: 20-60% for typical graphics workloads

Fragment Utilization

  • 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

Total Utilization

  • Definition: Overall GPU utilization across all rendering stages
  • Calculation: Weighted average based on workload distribution
  • Normal range: 40-90% for active rendering

Interpreting Utilization Changes

  • Small changes (±10%): Normal variance
  • Medium changes (±25%): May indicate workload differences
  • Large changes (±100%+): Likely test condition differences

Test Results Summary

NO SIGNIFICANT CHANGE: Graphics performance is within normal variance.
No action required.

Result Interpretations

NO SIGNIFICANT CHANGE

  • Performance difference is within normal measurement variance
  • No regression or improvement detected
  • Continue with normal development workflow

REGRESSION DETECTED

  • Performance has significantly degraded
  • Investigate recent changes (code, drivers, system)
  • Consider reverting changes or optimizing code

IMPROVEMENT DETECTED

  • Performance has significantly improved
  • Verify the improvement is intentional
  • Update baseline if improvement is permanent

Troubleshooting Common Issues

High Variability (Poor Quality)

  1. Close background applications
  2. Check GPU temperature (thermal throttling)
  3. Disable automatic updates
  4. Run test during low system load

Large Utilization Changes

  1. Verify test configuration matches baseline
  2. Check for driver updates
  3. Ensure consistent system state

Unexpected Regressions

  1. Review recent code changes
  2. Check for system updates
  3. Verify test conditions match baseline creation

Best Practices

For Reliable Testing

  1. Run tests during consistent system conditions
  2. Close unnecessary applications
  3. Allow system to stabilize before testing
  4. Use dedicated testing machine when possible

For Baseline Creation

  1. Run during low system load
  2. Ensure stable thermal conditions
  3. Use representative test workloads
  4. Document system configuration

For Continuous Integration

  1. Automate test execution
  2. Set appropriate thresholds (typically ±10%)
  3. Monitor quality trends
  4. Alert on consistent regressions

Advanced Analysis

Performance Profiling

  • Use Instruments to profile GPU usage
  • Monitor Metal command buffer utilization
  • Check for memory bandwidth bottlenecks

Workload Optimization

  • Adjust triangle count for target performance
  • Optimize shader complexity
  • Balance vertex vs fragment workload

System Tuning

  • Monitor GPU power consumption
  • Check thermal management settings
  • Verify memory allocation patterns

Clone this wiki locally