raylib performance — backend comparison

rlgl  vs  rlvk  |  GPU NVIDIA GeForce RTX 4090 (24138 MB)  |  Driver 32.0.15.9597 (NVIDIA 595.97)  |  OS Windows 11 (10.0.26100)  |  3 runs × 10000 ms full speed

Green = best backend for that example/metric, red = worst. Frame time & FPS are the representative run. The rlsw (software rasterizer) column was removed from this archived page; regenerate on the capture machine for the three-backend view.

speedup = rlvk relative to rlgl, per metric direction (>1x favors rlvk); ° on a ratio means at least one side sits at its floor. Column injected into this archived report; regenerating on the capture machine rebuilds it from the rini data.

Frames per second (higher is better)

Sustained FPS at full speed (uncapped).
Examplerlglrlvkrlvk speedup
shapes_basic_shapes8343222192.66x
textures_tiled_drawing10546219162.08x
textures_particles_blending12125231311.91x
shapes_starfield_effect12162238471.96x
models_loading14949244491.64x
models_heightmap_rendering16179322501.99x
models_skybox_rendering15814314761.99x
models_waving_cubes74412191.64x
models_first_person_maze16732319781.91x
core_3d_camera_free14332244281.70x
shaders_basic_lighting10554203341.93x
shaders_basic_pbr9776179911.84x
shaders_mandelbrot_set9871203442.06x
shaders_raymarching_rendering412740270.98x
performance_stress_test961231.28x
performance_stress_test_direct59580.98x
bench_idle17482188061.08x
bench_drawcalls1057136.79x
bench_instanced675489331.32x

Median frame time, ms (lower is better)

Median per-frame CPU wall time.
Examplerlglrlvkrlvk speedup
shapes_basic_shapes0.1110.0392.85x
textures_tiled_drawing0.0830.0402.08x
textures_particles_blending0.0760.0401.90x
shapes_starfield_effect0.0680.0381.79x
models_loading0.0570.0371.54x
models_heightmap_rendering0.0520.0291.79x
models_skybox_rendering0.0520.0291.79x
models_waving_cubes1.3240.8061.64x
models_first_person_maze0.0490.0281.75x
core_3d_camera_free0.0590.0371.59x
shaders_basic_lighting0.0820.0451.82x
shaders_basic_pbr0.0900.0491.84x
shaders_mandelbrot_set0.0900.0452.00x
shaders_raymarching_rendering0.2280.2261.01x
performance_stress_test10.4646.8911.52x
performance_stress_test_direct16.90017.2190.98x
bench_idle0.0480.0401.20x
bench_drawcalls9.4411.3766.86x
bench_instanced0.1170.0961.22x

Average frame time, ms (lower is better)

Mean per-frame wall time.
Examplerlglrlvkrlvk speedup
shapes_basic_shapes0.1200.0452.67x
textures_tiled_drawing0.0950.0462.07x
textures_particles_blending0.0820.0431.91x
shapes_starfield_effect0.0820.0421.95x
models_loading0.0670.0411.63x
models_heightmap_rendering0.0620.0312.00x
models_skybox_rendering0.0630.0321.97x
models_waving_cubes1.3450.8211.64x
models_first_person_maze0.0600.0311.94x
core_3d_camera_free0.0700.0411.71x
shaders_basic_lighting0.0950.0491.94x
shaders_basic_pbr0.1020.0561.82x
shaders_mandelbrot_set0.1010.0492.06x
shaders_raymarching_rendering0.2420.2480.98x
performance_stress_test10.4618.1571.28x
performance_stress_test_direct16.93617.2380.98x
bench_idle0.0570.0531.08x
bench_drawcalls9.5011.4026.78x
bench_instanced0.1480.1121.32x

CPU utilization, %

Average process CPU as percent of the whole machine.
Examplerlglrlvkrlvk speedup
shapes_basic_shapes3.02.71.11x
textures_tiled_drawing3.42.81.21x
textures_particles_blending3.62.91.24x
shapes_starfield_effect3.22.91.10x
models_loading2.82.90.97x
models_heightmap_rendering2.93.00.97x
models_skybox_rendering2.72.90.93x
models_waving_cubes3.63.01.20x
models_first_person_maze2.93.00.97x
core_3d_camera_free2.83.00.93x
shaders_basic_lighting2.93.00.97x
shaders_basic_pbr3.02.81.07x
shaders_mandelbrot_set3.43.01.13x
shaders_raymarching_rendering1.30.62.17x
performance_stress_test4.12.81.46x
performance_stress_test_direct0.00.0
bench_idle3.22.71.19x
bench_drawcalls3.43.01.13x
bench_instanced2.92.81.04x

RAM, MB

Average working-set memory.
Examplerlglrlvkrlvk speedup
shapes_basic_shapes65.288.60.74x
textures_tiled_drawing65.588.70.74x
textures_particles_blending63.788.50.72x
shapes_starfield_effect65.588.60.74x
models_loading76.7101.70.75x
models_heightmap_rendering80.6104.30.77x
models_skybox_rendering74.8110.00.68x
models_waving_cubes80.7102.80.79x
models_first_person_maze72.7101.60.72x
core_3d_camera_free73.8100.70.73x
shaders_basic_lighting73.9109.50.67x
shaders_basic_pbr88.8110.60.80x
shaders_mandelbrot_set69.4109.40.63x
shaders_raymarching_rendering65.9109.00.60x
performance_stress_test96.7152.60.63x
performance_stress_test_direct65.5106.80.61x
bench_idle72.488.40.82x
bench_drawcalls73.0103.20.71x
bench_instanced77.5110.50.70x

GPU VRAM, MB

Average per-process video memory (DXGI).
Examplerlglrlvkrlvk speedup
shapes_basic_shapes13.119.20.68x
textures_tiled_drawing15.119.40.78x
textures_particles_blending15.119.20.79x
shapes_starfield_effect13.119.20.68x
models_loading17.124.00.71x
models_heightmap_rendering17.322.20.78x
models_skybox_rendering19.125.40.75x
models_waving_cubes13.119.20.68x
models_first_person_maze15.119.90.76x
core_3d_camera_free13.119.20.68x
shaders_basic_lighting24.143.10.56x
shaders_basic_pbr49.169.40.71x
shaders_mandelbrot_set17.922.30.80x
shaders_raymarching_rendering13.121.20.62x
performance_stress_test57.9100.10.58x
performance_stress_test_direct22.036.70.60x
bench_idle22.036.70.60x
bench_drawcalls22.036.90.60x
bench_instanced24.036.90.65x