GPU Benchmark Glossary
Your comprehensive technical reference guide for understanding GPU benchmarking, shader programming, and graphics performance terminology
⚡Benchmarking Fundamentals
Benchmark Suite
A collection of standardized tests designed to measure different aspects of GPU performance, including rendering speed, computational throughput, and memory bandwidth under controlled conditions.
Baseline Performance
The reference performance level established using specific hardware and settings, used as a comparison point for evaluating other configurations or optimizations.
Synthetic Benchmark
An artificial workload specifically designed to stress-test particular GPU capabilities, unlike real-world applications. Provides consistent, reproducible measurements across different hardware.
Bottleneck Analysis
Process of identifying which component (GPU cores, memory bandwidth, CPU, etc.) is limiting overall performance in a graphics workload.
🎨Rendering Technologies
Ray Marching
AdvancedA rendering technique where rays are stepped incrementally through 3D space to find surface intersections, particularly useful for rendering implicit surfaces and volumetric effects that are difficult to represent with traditional polygons.
Signed Distance Field (SDF)
A mathematical function that returns the shortest distance from any point in space to a surface, with the sign indicating whether the point is inside (negative) or outside (positive) the object. Enables efficient ray marching and smooth boolean operations.
Shader Pipeline
The sequence of programmable stages in the GPU rendering process, including vertex shaders (geometry processing), fragment shaders (pixel coloring), and optional geometry/tessellation shaders for advanced effects.
Rasterization
The process of converting vector graphics (triangles, lines) into a raster image (pixels) by determining which pixels are covered by each primitive and should be shaded.
Z-Buffer (Depth Buffer)
A buffer storing depth information for each pixel, used to determine which surfaces are visible and which are occluded by nearer geometry during rendering.
Anti-Aliasing
Techniques to reduce jagged edges (aliasing artifacts) in rendered images by sampling multiple points per pixel or applying post-processing filters to smooth transitions.
📊Performance Metrics
FPS Variance
The statistical measure of frame rate consistency over time. Lower variance indicates smoother, more predictable performance, while high variance suggests stuttering or inconsistent frame delivery.
1% Low / 0.1% Low FPS
The average frame rate of the worst 1% or 0.1% of frames during a benchmark run. Better indicator of worst-case performance and stuttering than average FPS alone.
Fill Rate
The speed at which a GPU can write pixels to the framebuffer, measured in megapixels or gigapixels per second. Critical for high-resolution rendering and multi-layer effects.
Memory Bandwidth Utilization
Percentage of theoretical maximum memory bandwidth being used during rendering. High utilization (>80%) may indicate memory bandwidth bottlenecks limiting performance.
Draw Calls
Individual commands from CPU to GPU to render geometry. Excessive draw calls can create CPU bottlenecks; modern techniques like instancing reduce draw call overhead.
GPU Occupancy
The ratio of active warps/wavefronts to maximum possible concurrent warps on the GPU. Higher occupancy generally improves performance by hiding memory latency through better parallelism.
💻Shader Programming
GLSL (OpenGL Shading Language)
A C-like high-level programming language used to write shaders for OpenGL and WebGL. Features vector/matrix operations optimized for graphics computation.
Uniform Variable
A shader variable whose value remains constant across all vertices/pixels in a single draw call, set by the CPU. Used for parameters like transformation matrices, colors, and material properties.
Varying / Interpolated Variable
Data passed from vertex shader to fragment shader, automatically interpolated across the primitive's surface based on barycentric coordinates.
Swizzling
GLSL feature allowing arbitrary reordering and selection of vector components using notation like .rgba, .xyzw, or .stpq. Example: vec3(1,2,3).zyx returns vec3(3,2,1).
Texture Sampling
The process of reading color/data values from texture memory at specified coordinates, with filtering (nearest, linear, mipmapping) to handle fractional coordinates smoothly.
Precision Qualifiers
Keywords (highp, mediump, lowp) in GLSL that specify floating-point precision. Higher precision improves accuracy but may reduce performance on mobile GPUs.
🔧Hardware Architecture
Compute Unit (CU) / Streaming Multiprocessor (SM)
A cluster of shader cores that execute instructions in parallel. AMD uses the term CU, NVIDIA uses SM. More units generally mean higher parallel processing capability.
Warp / Wavefront
The smallest group of threads that execute together in lockstep on a GPU. NVIDIA uses 32-thread warps, AMD uses 64-thread wavefronts. Divergent branching within a warp reduces efficiency.
Texture Mapping Units (TMU)
Specialized hardware for texture sampling operations, including filtering and coordinate transformation. More TMUs enable faster texture-heavy rendering.
Render Output Units (ROPs)
Hardware responsible for final pixel write operations, including blending, z-testing, and anti-aliasing. ROP count limits maximum fill rate and multi-sample performance.
Cache Hierarchy
Multi-level memory system (L1, L2, sometimes L3 caches) providing fast access to frequently used data, reducing latency to main VRAM. Effective cache utilization is critical for performance.
Memory Bus Width
The number of bits that can be transferred simultaneously between GPU and VRAM, measured in bits (e.g., 256-bit, 384-bit). Wider buses provide higher bandwidth potential.
🌐WebGL Specific
WebGL Context
The JavaScript object providing access to WebGL API functions for 3D rendering in browsers. Created from HTML5 canvas element with getContext('webgl') or getContext('webgl2').
Context Loss
Event where WebGL context becomes invalid due to GPU reset, driver crash, or resource exhaustion. Properly handling context loss/restore is essential for robust web applications.
WebGL Extensions
Optional features providing access to advanced GPU capabilities like floating-point textures, instanced rendering, or multiple render targets. Support varies by browser and hardware.
Attribute Buffer (VBO)
GPU buffer containing per-vertex data (positions, normals, UVs). Data is uploaded once and can be reused for multiple draw calls, reducing CPU-GPU transfer overhead.
Framebuffer Object (FBO)
Off-screen render target in WebGL allowing render-to-texture operations. Used for post-processing effects, shadow mapping, and multi-pass rendering techniques.
Anisotropic Filtering
Advanced texture filtering technique that accounts for viewing angle, providing sharper textures on surfaces viewed at oblique angles. Available via WebGL extension.
🚀Optimization Techniques
Instanced Rendering
Drawing multiple copies of the same geometry with a single draw call, varying per-instance attributes. Dramatically reduces CPU overhead for rendering many similar objects like particles or vegetation.
Frustum Culling
Optimization that excludes objects outside the camera's view frustum from rendering, saving GPU processing on invisible geometry.
Level of Detail (LOD)
Technique using simpler geometry/textures for distant objects and detailed versions for nearby objects, balancing visual quality with performance based on viewer distance.
Texture Atlasing
Combining multiple textures into a single larger texture to reduce texture binding operations and improve batch rendering efficiency.
Early Z Rejection
Hardware optimization that discards pixels failing depth test before fragment shader execution, saving computation on occluded pixels. Requires rendering front-to-back or using depth prepass.
Dynamic Branching
Use of conditional statements (if/else) in shaders. Can reduce efficiency if threads in same warp take different branches (divergence). Modern GPUs handle coherent branching better.