Skip to content

Graphics Baseline Output

Kel edited this page Sep 29, 2025 · 7 revisions

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.

Graphics Baseline Configuration

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

Explanation:

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

Baseline Results

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

Explanation:

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

Real GPU Performance Counter Data

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

Key Metrics to Monitor

For Performance Analysis:

  1. Render Time: Primary performance metric (real GPU execution time)
  2. FPS: Real-time performance capability
  3. Memory Bandwidth: Real GPU memory subsystem performance
  4. Cache Hit Rate: Real memory access efficiency from hardware

For Regression Detection:

  1. Render Time: Used for baseline comparison with statistical analysis
  2. Stage Utilization: Real GPU utilization to identify bottlenecks
  3. Memory Performance: Hardware-based memory efficiency metrics

For Optimization:

  1. Vertex vs Fragment Utilization: Real GPU shader utilization from hardware
  2. Cache Performance: Real memory access patterns from GPU hardware
  3. Instructions Executed: Workload complexity analysis
  4. Memory Bandwidth: Real memory subsystem performance

Performance Trends to Expect

Resolution Scaling:

  • GPU time increases roughly quadratically with pixel count
  • Fragment shader utilization increases with higher resolutions
  • Memory bandwidth requirements scale with resolution

Triangle Count Scaling:

  • GPU time increases with triangle count
  • Vertex shader utilization increases with more geometry
  • Cache performance may degrade with complex geometry

Complexity Scaling:

  • Higher complexity affects both vertex and fragment processing
  • Smaller triangles (higher complexity) stress fragment shaders more
  • Memory access patterns change with complexity levels

Documentation

The Graphics Test Results doc can be found here.

The main project Metal Performance Tester README is here.

Clone this wiki locally