diff --git a/benchmarks/perf/horizon-win-9800x3d-5080-rd16.json b/benchmarks/perf/horizon-win-9800x3d-5080-rd16.json new file mode 100644 index 0000000000..017c9cbec6 --- /dev/null +++ b/benchmarks/perf/horizon-win-9800x3d-5080-rd16.json @@ -0,0 +1,773 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T01:13:01Z", + "app": { + "name": "horizon-client", + "version": "v0.2.97", + "commit": null + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080", + "vendor": "nvidia", + "driver": "NVIDIA 617.42", + "backend": "vulkan", + "kind": "discrete" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 16, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 3158.208, + "stdev": 215.77, + "min": 3023.046, + "max": 3407.049, + "ci95": 536.046 + }, + "startup.world_ms": { + "n": 3, + "mean": 7170.164, + "stdev": 557.958, + "min": 6703.242, + "max": 7788.08, + "ci95": 1386.157 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 1694.647, + "stdev": 41.285, + "min": 1653.122, + "max": 1735.687, + "ci95": 102.566 + }, + "chunks.village.meshed_count": { + "n": 3, + "mean": 23544.0, + "stdev": 47.127, + "min": 23495.0, + "max": 23589.0, + "ci95": 117.081 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 1711.652, + "stdev": 77.412, + "min": 1623.403, + "max": 1768.093, + "ci95": 192.317 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 593.407, + "stdev": 32.279, + "min": 571.485, + "max": 630.473, + "ci95": 80.191 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 358.473, + "stdev": 27.832, + "min": 326.35, + "max": 375.353, + "ci95": 69.143 + }, + "memory.village.gpu_mb": { + "n": 3, + "mean": 631.813, + "stdev": 8.381, + "min": 626.803, + "max": 641.489, + "ci95": 20.822 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 2521.363, + "stdev": 291.624, + "min": 2336.881, + "max": 2857.57, + "ci95": 724.493 + }, + "chunks.forest.meshed_count": { + "n": 3, + "mean": 27346.667, + "stdev": 57.934, + "min": 27306.0, + "max": 27413.0, + "ci95": 143.927 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 2423.783, + "stdev": 55.746, + "min": 2386.353, + "max": 2487.851, + "ci95": 138.493 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 709.165, + "stdev": 66.309, + "min": 638.666, + "max": 770.286, + "ci95": 164.734 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 401.039, + "stdev": 40.413, + "min": 354.472, + "max": 426.929, + "ci95": 100.399 + }, + "memory.forest.gpu_mb": { + "n": 3, + "mean": 705.008, + "stdev": 6.062, + "min": 698.466, + "max": 710.435, + "ci95": 15.06 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 2094.909, + "stdev": 521.225, + "min": 1758.024, + "max": 2695.274, + "ci95": 1294.9 + }, + "chunks.ocean.meshed_count": { + "n": 3, + "mean": 24312.667, + "stdev": 261.934, + "min": 24116.0, + "max": 24610.0, + "ci95": 650.732 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 2201.125, + "stdev": 73.595, + "min": 2153.6, + "max": 2285.897, + "ci95": 182.834 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 553.968, + "stdev": 100.955, + "min": 445.599, + "max": 645.355, + "ci95": 250.806 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 325.078, + "stdev": 131.154, + "min": 177.4, + "max": 427.981, + "ci95": 325.831 + }, + "memory.ocean.gpu_mb": { + "n": 3, + "mean": 652.944, + "stdev": 5.177, + "min": 647.51, + "max": 657.818, + "ci95": 12.862 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 3304.58, + "stdev": 134.041, + "min": 3155.996, + "max": 3416.409, + "ci95": 333.003 + }, + "chunks.mountain.meshed_count": { + "n": 3, + "mean": 26591.0, + "stdev": 57.472, + "min": 26525.0, + "max": 26630.0, + "ci95": 142.779 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 1961.086, + "stdev": 39.725, + "min": 1921.241, + "max": 2000.69, + "ci95": 98.69 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 536.973, + "stdev": 38.828, + "min": 495.61, + "max": 572.635, + "ci95": 96.461 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 296.586, + "stdev": 30.236, + "min": 275.859, + "max": 331.281, + "ci95": 75.118 + }, + "memory.mountain.gpu_mb": { + "n": 3, + "mean": 896.941, + "stdev": 5.177, + "min": 891.506, + "max": 901.814, + "ci95": 12.862 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 1458.578, + "stdev": 3.229, + "min": 1455.32, + "max": 1461.777, + "ci95": 8.022 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 1236.28, + "stdev": 4.869, + "min": 1230.701, + "max": 1239.672, + "ci95": 12.096 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 21218, + "seconds": 12.0, + "avg_fps": 1768.093, + "low_1pct_fps": 630.473, + "low_01pct_fps": 375.353, + "p50_ms": 0.537, + "p95_ms": 0.846, + "p99_ms": 1.222, + "p999_ms": 2.081, + "max_ms": 6.256, + "cpu_p50_ms": 0.38, + "gpu_p50_ms": 0.104, + "histogram": [ + 20695, + 499, + 22, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 19482, + "seconds": 12.001, + "avg_fps": 1623.403, + "low_1pct_fps": 578.262, + "low_01pct_fps": 373.717, + "p50_ms": 0.586, + "p95_ms": 0.95, + "p99_ms": 1.357, + "p999_ms": 2.158, + "max_ms": 7.35, + "cpu_p50_ms": 0.445, + "gpu_p50_ms": 0.104, + "histogram": [ + 18729, + 713, + 38, + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 20922, + "seconds": 12.0, + "avg_fps": 1743.46, + "low_1pct_fps": 571.485, + "low_01pct_fps": 326.35, + "p50_ms": 0.526, + "p95_ms": 0.883, + "p99_ms": 1.313, + "p999_ms": 2.14, + "max_ms": 12.027, + "cpu_p50_ms": 0.379, + "gpu_p50_ms": 0.104, + "histogram": [ + 20308, + 582, + 28, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 29855, + "seconds": 12.0, + "avg_fps": 2487.851, + "low_1pct_fps": 770.286, + "low_01pct_fps": 421.717, + "p50_ms": 0.365, + "p95_ms": 0.619, + "p99_ms": 0.948, + "p999_ms": 1.717, + "max_ms": 9.446, + "cpu_p50_ms": 0.232, + "gpu_p50_ms": 0.157, + "histogram": [ + 29607, + 233, + 13, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 28766, + "seconds": 12.0, + "avg_fps": 2397.145, + "low_1pct_fps": 718.542, + "low_01pct_fps": 426.929, + "p50_ms": 0.374, + "p95_ms": 0.662, + "p99_ms": 1.016, + "p999_ms": 1.858, + "max_ms": 6.379, + "cpu_p50_ms": 0.239, + "gpu_p50_ms": 0.157, + "histogram": [ + 28457, + 293, + 14, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 28637, + "seconds": 12.0, + "avg_fps": 2386.353, + "low_1pct_fps": 638.666, + "low_01pct_fps": 354.472, + "p50_ms": 0.373, + "p95_ms": 0.704, + "p99_ms": 1.159, + "p999_ms": 1.952, + "max_ms": 14.388, + "cpu_p50_ms": 0.233, + "gpu_p50_ms": 0.157, + "histogram": [ + 28198, + 415, + 18, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 25968, + "seconds": 12.001, + "avg_fps": 2163.877, + "low_1pct_fps": 570.949, + "low_01pct_fps": 369.854, + "p50_ms": 0.408, + "p95_ms": 0.767, + "p99_ms": 1.339, + "p999_ms": 2.38, + "max_ms": 3.329, + "cpu_p50_ms": 0.271, + "gpu_p50_ms": 0.141, + "histogram": [ + 25383, + 534, + 47, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 25843, + "seconds": 12.0, + "avg_fps": 2153.6, + "low_1pct_fps": 445.599, + "low_01pct_fps": 177.4, + "p50_ms": 0.413, + "p95_ms": 0.725, + "p99_ms": 1.309, + "p999_ms": 3.451, + "max_ms": 12.071, + "cpu_p50_ms": 0.275, + "gpu_p50_ms": 0.142, + "histogram": [ + 25375, + 373, + 56, + 22, + 1, + 7, + 3, + 5, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 27431, + "seconds": 12.0, + "avg_fps": 2285.897, + "low_1pct_fps": 645.355, + "low_01pct_fps": 427.981, + "p50_ms": 0.388, + "p95_ms": 0.693, + "p99_ms": 1.163, + "p999_ms": 2.041, + "max_ms": 3.068, + "cpu_p50_ms": 0.254, + "gpu_p50_ms": 0.141, + "histogram": [ + 27036, + 363, + 31, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 23536, + "seconds": 12.0, + "avg_fps": 1961.326, + "low_1pct_fps": 542.675, + "low_01pct_fps": 331.281, + "p50_ms": 0.436, + "p95_ms": 0.856, + "p99_ms": 1.425, + "p999_ms": 2.22, + "max_ms": 9.458, + "cpu_p50_ms": 0.296, + "gpu_p50_ms": 0.14, + "histogram": [ + 22819, + 671, + 40, + 5, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 23056, + "seconds": 12.001, + "avg_fps": 1921.241, + "low_1pct_fps": 495.61, + "low_01pct_fps": 282.617, + "p50_ms": 0.44, + "p95_ms": 0.911, + "p99_ms": 1.516, + "p999_ms": 2.543, + "max_ms": 14.342, + "cpu_p50_ms": 0.299, + "gpu_p50_ms": 0.141, + "histogram": [ + 22198, + 783, + 65, + 7, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 24009, + "seconds": 12.0, + "avg_fps": 2000.69, + "low_1pct_fps": 572.635, + "low_01pct_fps": 275.859, + "p50_ms": 0.436, + "p95_ms": 0.819, + "p99_ms": 1.274, + "p999_ms": 2.085, + "max_ms": 14.003, + "cpu_p50_ms": 0.297, + "gpu_p50_ms": 0.14, + "histogram": [ + 23421, + 560, + 22, + 0, + 1, + 0, + 2, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "horizon-win-9800x3d-5080" +} diff --git a/benchmarks/perf/horizon-win-9800x3d-5080-rd32.json b/benchmarks/perf/horizon-win-9800x3d-5080-rd32.json new file mode 100644 index 0000000000..3c686c57a1 --- /dev/null +++ b/benchmarks/perf/horizon-win-9800x3d-5080-rd32.json @@ -0,0 +1,773 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T00:27:10Z", + "app": { + "name": "horizon-client", + "version": "v0.2.97", + "commit": null + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080", + "vendor": "nvidia", + "driver": "NVIDIA 617.42", + "backend": "vulkan", + "kind": "discrete" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 32, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 3738.432, + "stdev": 388.672, + "min": 3385.879, + "max": 4155.22, + "ci95": 965.593 + }, + "startup.world_ms": { + "n": 3, + "mean": 12143.481, + "stdev": 1327.719, + "min": 11088.403, + "max": 13634.319, + "ci95": 3298.502 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 3434.344, + "stdev": 266.948, + "min": 3126.113, + "max": 3590.983, + "ci95": 663.189 + }, + "chunks.village.meshed_count": { + "n": 3, + "mean": 46798.667, + "stdev": 909.964, + "min": 46213.0, + "max": 47847.0, + "ci95": 2260.658 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 1012.627, + "stdev": 21.674, + "min": 989.456, + "max": 1032.404, + "ci95": 53.846 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 299.395, + "stdev": 39.159, + "min": 265.44, + "max": 342.232, + "ci95": 97.284 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 148.378, + "stdev": 45.226, + "min": 116.177, + "max": 200.084, + "ci95": 112.358 + }, + "memory.village.gpu_mb": { + "n": 3, + "mean": 1827.238, + "stdev": 5.57, + "min": 1823.989, + "max": 1833.67, + "ci95": 13.838 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 4889.028, + "stdev": 166.116, + "min": 4728.547, + "max": 5060.257, + "ci95": 412.689 + }, + "chunks.forest.meshed_count": { + "n": 3, + "mean": 81616.333, + "stdev": 621.329, + "min": 81229.0, + "max": 82333.0, + "ci95": 1543.591 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 1273.315, + "stdev": 20.428, + "min": 1251.769, + "max": 1292.403, + "ci95": 50.75 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 329.946, + "stdev": 57.8, + "min": 277.36, + "max": 391.832, + "ci95": 143.594 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 153.483, + "stdev": 47.859, + "min": 119.095, + "max": 208.142, + "ci95": 118.899 + }, + "memory.forest.gpu_mb": { + "n": 3, + "mean": 1984.319, + "stdev": 3.692, + "min": 1980.314, + "max": 1987.587, + "ci95": 9.173 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 5299.309, + "stdev": 410.809, + "min": 4875.213, + "max": 5695.397, + "ci95": 1020.588 + }, + "chunks.ocean.meshed_count": { + "n": 3, + "mean": 74963.0, + "stdev": 233.615, + "min": 74699.0, + "max": 75143.0, + "ci95": 580.379 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 1068.142, + "stdev": 32.909, + "min": 1030.446, + "max": 1091.144, + "ci95": 81.757 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 113.123, + "stdev": 9.294, + "min": 103.159, + "max": 121.556, + "ci95": 23.089 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 44.396, + "stdev": 6.668, + "min": 36.957, + "max": 49.833, + "ci95": 16.564 + }, + "memory.ocean.gpu_mb": { + "n": 3, + "mean": 2081.321, + "stdev": 16.734, + "min": 2064.59, + "max": 2098.058, + "ci95": 41.573 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 9608.186, + "stdev": 273.923, + "min": 9329.638, + "max": 9877.237, + "ci95": 680.518 + }, + "chunks.mountain.meshed_count": { + "n": 3, + "mean": 89473.333, + "stdev": 268.18, + "min": 89211.0, + "max": 89747.0, + "ci95": 666.249 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 928.889, + "stdev": 57.449, + "min": 863.318, + "max": 970.374, + "ci95": 142.722 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 174.903, + "stdev": 43.721, + "min": 141.522, + "max": 224.393, + "ci95": 108.617 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 74.832, + "stdev": 22.951, + "min": 56.826, + "max": 100.675, + "ci95": 57.018 + }, + "memory.mountain.gpu_mb": { + "n": 3, + "mean": 2705.31, + "stdev": 16.734, + "min": 2688.578, + "max": 2722.046, + "ci95": 41.573 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2051.543, + "stdev": 16.94, + "min": 2034.559, + "max": 2068.438, + "ci95": 42.084 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 1734.403, + "stdev": 3.0, + "min": 1731.307, + "max": 1737.297, + "ci95": 7.454 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 12390, + "seconds": 12.001, + "avg_fps": 1032.404, + "low_1pct_fps": 290.514, + "low_01pct_fps": 128.873, + "p50_ms": 0.874, + "p95_ms": 1.496, + "p99_ms": 2.29, + "p999_ms": 4.709, + "max_ms": 26.015, + "cpu_p50_ms": 0.715, + "gpu_p50_ms": 0.193, + "histogram": [ + 8977, + 3202, + 156, + 37, + 9, + 4, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 11874, + "seconds": 12.001, + "avg_fps": 989.456, + "low_1pct_fps": 265.44, + "low_01pct_fps": 116.177, + "p50_ms": 0.882, + "p95_ms": 1.635, + "p99_ms": 2.49, + "p999_ms": 5.08, + "max_ms": 20.489, + "cpu_p50_ms": 0.719, + "gpu_p50_ms": 0.194, + "histogram": [ + 7929, + 3669, + 206, + 48, + 9, + 8, + 1, + 0, + 0, + 2, + 0, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 12193, + "seconds": 12.001, + "avg_fps": 1016.022, + "low_1pct_fps": 342.232, + "low_01pct_fps": 200.084, + "p50_ms": 0.913, + "p95_ms": 1.467, + "p99_ms": 2.206, + "p999_ms": 3.829, + "max_ms": 8.332, + "cpu_p50_ms": 0.755, + "gpu_p50_ms": 0.193, + "histogram": [ + 8709, + 3307, + 140, + 27, + 5, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 15509, + "seconds": 12.0, + "avg_fps": 1292.403, + "low_1pct_fps": 391.832, + "low_01pct_fps": 208.142, + "p50_ms": 0.706, + "p95_ms": 1.119, + "p99_ms": 1.891, + "p999_ms": 3.745, + "max_ms": 6.114, + "cpu_p50_ms": 0.565, + "gpu_p50_ms": 0.363, + "histogram": [ + 14235, + 1155, + 92, + 15, + 4, + 7, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 15310, + "seconds": 12.001, + "avg_fps": 1275.772, + "low_1pct_fps": 320.646, + "low_01pct_fps": 133.212, + "p50_ms": 0.709, + "p95_ms": 1.156, + "p99_ms": 2.049, + "p999_ms": 6.004, + "max_ms": 9.677, + "cpu_p50_ms": 0.568, + "gpu_p50_ms": 0.365, + "histogram": [ + 14033, + 1102, + 138, + 13, + 4, + 4, + 7, + 5, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 15022, + "seconds": 12.001, + "avg_fps": 1251.769, + "low_1pct_fps": 277.36, + "low_01pct_fps": 119.095, + "p50_ms": 0.713, + "p95_ms": 1.171, + "p99_ms": 2.359, + "p999_ms": 6.012, + "max_ms": 13.971, + "cpu_p50_ms": 0.569, + "gpu_p50_ms": 0.361, + "histogram": [ + 13671, + 1116, + 173, + 30, + 12, + 4, + 3, + 7, + 4, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 12994, + "seconds": 12.0, + "avg_fps": 1082.837, + "low_1pct_fps": 114.655, + "low_01pct_fps": 46.399, + "p50_ms": 0.776, + "p95_ms": 1.21, + "p99_ms": 3.445, + "p999_ms": 17.269, + "max_ms": 27.182, + "cpu_p50_ms": 0.632, + "gpu_p50_ms": 0.315, + "histogram": [ + 11428, + 1297, + 112, + 56, + 18, + 13, + 7, + 9, + 14, + 10, + 11, + 5, + 6, + 6, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 13094, + "seconds": 12.0, + "avg_fps": 1091.144, + "low_1pct_fps": 121.556, + "low_01pct_fps": 49.833, + "p50_ms": 0.783, + "p95_ms": 1.208, + "p99_ms": 3.354, + "p999_ms": 15.267, + "max_ms": 37.435, + "cpu_p50_ms": 0.638, + "gpu_p50_ms": 0.315, + "histogram": [ + 11717, + 1079, + 138, + 66, + 15, + 16, + 6, + 7, + 12, + 9, + 11, + 10, + 4, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 12366, + "seconds": 12.001, + "avg_fps": 1030.446, + "low_1pct_fps": 103.159, + "low_01pct_fps": 36.957, + "p50_ms": 0.791, + "p95_ms": 1.35, + "p99_ms": 4.016, + "p999_ms": 15.851, + "max_ms": 46.904, + "cpu_p50_ms": 0.644, + "gpu_p50_ms": 0.314, + "histogram": [ + 9826, + 2259, + 94, + 71, + 34, + 14, + 8, + 8, + 10, + 9, + 6, + 15, + 3, + 5, + 0, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 11436, + "seconds": 12.0, + "avg_fps": 952.975, + "low_1pct_fps": 158.795, + "low_01pct_fps": 66.996, + "p50_ms": 0.889, + "p95_ms": 1.667, + "p99_ms": 3.229, + "p999_ms": 12.778, + "max_ms": 19.067, + "cpu_p50_ms": 0.733, + "gpu_p50_ms": 0.308, + "histogram": [ + 8336, + 2726, + 239, + 74, + 15, + 7, + 4, + 10, + 3, + 7, + 9, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 11645, + "seconds": 12.001, + "avg_fps": 970.374, + "low_1pct_fps": 224.393, + "low_01pct_fps": 100.675, + "p50_ms": 0.893, + "p95_ms": 1.627, + "p99_ms": 2.515, + "p999_ms": 8.945, + "max_ms": 11.722, + "cpu_p50_ms": 0.73, + "gpu_p50_ms": 0.308, + "histogram": [ + 8260, + 3112, + 205, + 33, + 5, + 5, + 4, + 2, + 14, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 10360, + "seconds": 12.0, + "avg_fps": 863.318, + "low_1pct_fps": 141.522, + "low_01pct_fps": 56.826, + "p50_ms": 0.943, + "p95_ms": 2.006, + "p99_ms": 3.519, + "p999_ms": 13.928, + "max_ms": 22.332, + "cpu_p50_ms": 0.768, + "gpu_p50_ms": 0.308, + "histogram": [ + 5940, + 3899, + 356, + 91, + 21, + 15, + 2, + 7, + 10, + 4, + 5, + 4, + 4, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "horizon-win-9800x3d-5080" +} diff --git a/benchmarks/perf/horizon-win-9800x3d-5080-rd8.json b/benchmarks/perf/horizon-win-9800x3d-5080-rd8.json new file mode 100644 index 0000000000..222de25b0b --- /dev/null +++ b/benchmarks/perf/horizon-win-9800x3d-5080-rd8.json @@ -0,0 +1,773 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T00:51:49Z", + "app": { + "name": "horizon-client", + "version": "v0.2.97", + "commit": null + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080", + "vendor": "nvidia", + "driver": "NVIDIA 617.42", + "backend": "vulkan", + "kind": "discrete" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 8, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 3330.02, + "stdev": 210.536, + "min": 3178.861, + "max": 3570.49, + "ci95": 523.044 + }, + "startup.world_ms": { + "n": 3, + "mean": 6420.625, + "stdev": 653.795, + "min": 5814.898, + "max": 7113.705, + "ci95": 1624.248 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 1072.973, + "stdev": 37.514, + "min": 1041.631, + "max": 1114.539, + "ci95": 93.197 + }, + "chunks.village.meshed_count": { + "n": 3, + "mean": 6939.333, + "stdev": 30.436, + "min": 6905.0, + "max": 6963.0, + "ci95": 75.613 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 2707.236, + "stdev": 98.799, + "min": 2603.946, + "max": 2800.828, + "ci95": 245.449 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 839.513, + "stdev": 109.8, + "min": 713.659, + "max": 915.732, + "ci95": 272.782 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 493.942, + "stdev": 62.188, + "min": 429.293, + "max": 553.336, + "ci95": 154.497 + }, + "memory.village.gpu_mb": { + "n": 3, + "mean": 364.783, + "stdev": 6.111, + "min": 359.449, + "max": 371.451, + "ci95": 15.181 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 1286.502, + "stdev": 476.628, + "min": 1005.085, + "max": 1836.817, + "ci95": 1184.106 + }, + "chunks.forest.meshed_count": { + "n": 3, + "mean": 8054.0, + "stdev": 182.945, + "min": 7914.0, + "max": 8261.0, + "ci95": 454.498 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 3154.976, + "stdev": 192.533, + "min": 2947.096, + "max": 3327.167, + "ci95": 478.316 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 873.717, + "stdev": 159.272, + "min": 725.65, + "max": 1042.221, + "ci95": 395.685 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 528.692, + "stdev": 93.429, + "min": 430.921, + "max": 617.069, + "ci95": 232.109 + }, + "memory.forest.gpu_mb": { + "n": 3, + "mean": 371.322, + "stdev": 4.851, + "min": 366.77, + "max": 376.426, + "ci95": 12.052 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 1030.25, + "stdev": 329.147, + "min": 786.371, + "max": 1404.638, + "ci95": 817.714 + }, + "chunks.ocean.meshed_count": { + "n": 3, + "mean": 6612.0, + "stdev": 52.144, + "min": 6569.0, + "max": 6670.0, + "ci95": 129.543 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 3015.555, + "stdev": 80.155, + "min": 2955.31, + "max": 3106.527, + "ci95": 199.132 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 879.712, + "stdev": 55.394, + "min": 828.393, + "max": 938.436, + "ci95": 137.618 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 547.77, + "stdev": 39.154, + "min": 506.717, + "max": 584.699, + "ci95": 97.272 + }, + "memory.ocean.gpu_mb": { + "n": 3, + "mean": 380.662, + "stdev": 4.851, + "min": 376.11, + "max": 385.766, + "ci95": 12.052 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 1413.612, + "stdev": 30.681, + "min": 1393.617, + "max": 1448.937, + "ci95": 76.223 + }, + "chunks.mountain.meshed_count": { + "n": 3, + "mean": 7894.333, + "stdev": 40.526, + "min": 7868.0, + "max": 7941.0, + "ci95": 100.68 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 3152.657, + "stdev": 41.633, + "min": 3105.23, + "max": 3183.175, + "ci95": 103.43 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 961.49, + "stdev": 53.593, + "min": 914.043, + "max": 1019.619, + "ci95": 133.142 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 535.828, + "stdev": 57.513, + "min": 476.679, + "max": 591.551, + "ci95": 142.881 + }, + "memory.mountain.gpu_mb": { + "n": 3, + "mean": 437.666, + "stdev": 4.851, + "min": 433.114, + "max": 442.77, + "ci95": 12.052 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 1173.883, + "stdev": 2.408, + "min": 1171.137, + "max": 1175.637, + "ci95": 5.984 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 1080.08, + "stdev": 6.181, + "min": 1075.102, + "max": 1086.998, + "ci95": 15.355 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 31248, + "seconds": 12.0, + "avg_fps": 2603.946, + "low_1pct_fps": 713.659, + "low_01pct_fps": 429.293, + "p50_ms": 0.345, + "p95_ms": 0.623, + "p99_ms": 1.033, + "p999_ms": 1.813, + "max_ms": 6.763, + "cpu_p50_ms": 0.205, + "gpu_p50_ms": 0.062, + "histogram": [ + 30906, + 323, + 17, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 32604, + "seconds": 12.0, + "avg_fps": 2716.934, + "low_1pct_fps": 889.149, + "low_01pct_fps": 499.198, + "p50_ms": 0.341, + "p95_ms": 0.55, + "p99_ms": 0.834, + "p999_ms": 1.615, + "max_ms": 3.537, + "cpu_p50_ms": 0.206, + "gpu_p50_ms": 0.062, + "histogram": [ + 32447, + 146, + 9, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 33611, + "seconds": 12.0, + "avg_fps": 2800.828, + "low_1pct_fps": 915.732, + "low_01pct_fps": 553.336, + "p50_ms": 0.327, + "p95_ms": 0.533, + "p99_ms": 0.806, + "p999_ms": 1.452, + "max_ms": 5.36, + "cpu_p50_ms": 0.196, + "gpu_p50_ms": 0.062, + "histogram": [ + 33443, + 164, + 2, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 35366, + "seconds": 12.0, + "avg_fps": 2947.096, + "low_1pct_fps": 725.65, + "low_01pct_fps": 430.921, + "p50_ms": 0.287, + "p95_ms": 0.593, + "p99_ms": 0.999, + "p999_ms": 1.814, + "max_ms": 5.971, + "cpu_p50_ms": 0.159, + "gpu_p50_ms": 0.074, + "histogram": [ + 35014, + 329, + 19, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 38289, + "seconds": 12.0, + "avg_fps": 3190.666, + "low_1pct_fps": 853.281, + "low_01pct_fps": 538.085, + "p50_ms": 0.272, + "p95_ms": 0.53, + "p99_ms": 0.869, + "p999_ms": 1.519, + "max_ms": 5.01, + "cpu_p50_ms": 0.147, + "gpu_p50_ms": 0.074, + "histogram": [ + 38046, + 238, + 3, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 39926, + "seconds": 12.0, + "avg_fps": 3327.167, + "low_1pct_fps": 1042.221, + "low_01pct_fps": 617.069, + "p50_ms": 0.271, + "p95_ms": 0.452, + "p99_ms": 0.725, + "p999_ms": 1.331, + "max_ms": 3.237, + "cpu_p50_ms": 0.147, + "gpu_p50_ms": 0.074, + "histogram": [ + 39813, + 110, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 37280, + "seconds": 12.001, + "avg_fps": 3106.527, + "low_1pct_fps": 938.436, + "low_01pct_fps": 584.699, + "p50_ms": 0.286, + "p95_ms": 0.497, + "p99_ms": 0.799, + "p999_ms": 1.47, + "max_ms": 2.826, + "cpu_p50_ms": 0.161, + "gpu_p50_ms": 0.068, + "histogram": [ + 37111, + 166, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 35818, + "seconds": 12.0, + "avg_fps": 2984.827, + "low_1pct_fps": 872.306, + "low_01pct_fps": 551.893, + "p50_ms": 0.294, + "p95_ms": 0.543, + "p99_ms": 0.849, + "p999_ms": 1.502, + "max_ms": 3.407, + "cpu_p50_ms": 0.165, + "gpu_p50_ms": 0.068, + "histogram": [ + 35605, + 207, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 35464, + "seconds": 12.0, + "avg_fps": 2955.31, + "low_1pct_fps": 828.393, + "low_01pct_fps": 506.717, + "p50_ms": 0.294, + "p95_ms": 0.555, + "p99_ms": 0.883, + "p999_ms": 1.677, + "max_ms": 4.206, + "cpu_p50_ms": 0.166, + "gpu_p50_ms": 0.068, + "histogram": [ + 35226, + 229, + 8, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 38035, + "seconds": 12.0, + "avg_fps": 3169.566, + "low_1pct_fps": 1019.619, + "low_01pct_fps": 591.551, + "p50_ms": 0.286, + "p95_ms": 0.473, + "p99_ms": 0.743, + "p999_ms": 1.394, + "max_ms": 2.855, + "cpu_p50_ms": 0.162, + "gpu_p50_ms": 0.069, + "histogram": [ + 37924, + 107, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 37263, + "seconds": 12.0, + "avg_fps": 3105.23, + "low_1pct_fps": 914.043, + "low_01pct_fps": 539.253, + "p50_ms": 0.288, + "p95_ms": 0.497, + "p99_ms": 0.783, + "p999_ms": 1.533, + "max_ms": 3.065, + "cpu_p50_ms": 0.163, + "gpu_p50_ms": 0.069, + "histogram": [ + 37085, + 169, + 8, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 38200, + "seconds": 12.001, + "avg_fps": 3183.175, + "low_1pct_fps": 950.807, + "low_01pct_fps": 476.679, + "p50_ms": 0.285, + "p95_ms": 0.472, + "p99_ms": 0.738, + "p999_ms": 1.439, + "max_ms": 6.83, + "cpu_p50_ms": 0.161, + "gpu_p50_ms": 0.069, + "histogram": [ + 38067, + 125, + 4, + 1, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "horizon-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd16.json b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd16.json new file mode 100644 index 0000000000..36bb115554 --- /dev/null +++ b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd16.json @@ -0,0 +1,706 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T01:25:53Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + }, + { + "name": "sodium", + "version": "mc26.3-0.9.2-fabric" + }, + { + "name": "lithium", + "version": "mc26.3-0.26.2-fabric" + }, + { + "name": "ferrite-core", + "version": "9.0.0-fabric" + }, + { + "name": "immediatelyfast", + "version": "1.17.1+26.3-fabric" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 16, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 10777.756, + "stdev": 129.67, + "min": 10636.92, + "max": 10892.2, + "ci95": 322.144 + }, + "startup.world_ms": { + "n": 3, + "mean": 23477.423, + "stdev": 346.614, + "min": 23130.92, + "max": 23824.148, + "ci95": 861.106 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 6007.033, + "stdev": 104.227, + "min": 5891.431, + "max": 6093.825, + "ci95": 258.936 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 1282.11, + "stdev": 65.207, + "min": 1228.13, + "max": 1354.56, + "ci95": 161.997 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 343.465, + "stdev": 9.96, + "min": 335.223, + "max": 354.532, + "ci95": 24.744 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 131.669, + "stdev": 4.692, + "min": 126.427, + "max": 135.476, + "ci95": 11.656 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 8669.311, + "stdev": 434.39, + "min": 8280.854, + "max": 9138.35, + "ci95": 1079.173 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 1745.757, + "stdev": 13.014, + "min": 1734.41, + "max": 1759.963, + "ci95": 32.332 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 460.958, + "stdev": 10.859, + "min": 449.051, + "max": 470.316, + "ci95": 26.978 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 178.955, + "stdev": 3.777, + "min": 175.213, + "max": 182.766, + "ci95": 9.383 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 7056.368, + "stdev": 117.329, + "min": 6986.912, + "max": 7191.833, + "ci95": 291.485 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 1815.056, + "stdev": 47.875, + "min": 1759.788, + "max": 1843.745, + "ci95": 118.937 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 514.215, + "stdev": 57.205, + "min": 452.445, + "max": 565.368, + "ci95": 142.117 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 191.842, + "stdev": 23.217, + "min": 175.546, + "max": 218.426, + "ci95": 57.68 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 14094.582, + "stdev": 399.624, + "min": 13641.534, + "max": 14397.0, + "ci95": 992.801 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 1499.768, + "stdev": 22.197, + "min": 1477.269, + "max": 1521.651, + "ci95": 55.146 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 408.466, + "stdev": 16.114, + "min": 395.097, + "max": 426.358, + "ci95": 40.032 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 139.743, + "stdev": 3.969, + "min": 136.465, + "max": 144.156, + "ci95": 9.86 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2495.607, + "stdev": 75.339, + "min": 2412.738, + "max": 2559.965, + "ci95": 187.166 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 2326.611, + "stdev": 15.702, + "min": 2314.98, + "max": 2344.473, + "ci95": 39.01 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 14738, + "seconds": 12.0, + "avg_fps": 1228.13, + "low_1pct_fps": 335.223, + "low_01pct_fps": 133.103, + "p50_ms": 0.722, + "p95_ms": 1.384, + "p99_ms": 2.043, + "p999_ms": 5.224, + "max_ms": 11.459, + "histogram": [ + 12159, + 2421, + 128, + 14, + 1, + 5, + 2, + 3, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 16255, + "seconds": 12.0, + "avg_fps": 1354.56, + "low_1pct_fps": 354.532, + "low_01pct_fps": 135.476, + "p50_ms": 0.672, + "p95_ms": 1.136, + "p99_ms": 1.841, + "p999_ms": 4.913, + "max_ms": 16.94, + "histogram": [ + 14841, + 1298, + 86, + 13, + 2, + 5, + 4, + 1, + 3, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 15164, + "seconds": 12.0, + "avg_fps": 1263.64, + "low_1pct_fps": 340.639, + "low_01pct_fps": 126.427, + "p50_ms": 0.708, + "p95_ms": 1.299, + "p99_ms": 1.895, + "p999_ms": 5.173, + "max_ms": 16.748, + "histogram": [ + 13026, + 2014, + 94, + 13, + 1, + 3, + 3, + 6, + 2, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 20915, + "seconds": 12.0, + "avg_fps": 1742.897, + "low_1pct_fps": 470.316, + "low_01pct_fps": 182.766, + "p50_ms": 0.5, + "p95_ms": 0.936, + "p99_ms": 1.437, + "p999_ms": 2.77, + "max_ms": 13.414, + "histogram": [ + 20067, + 788, + 44, + 4, + 0, + 4, + 3, + 3, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 21120, + "seconds": 12.0, + "avg_fps": 1759.963, + "low_1pct_fps": 449.051, + "low_01pct_fps": 178.887, + "p50_ms": 0.49, + "p95_ms": 0.901, + "p99_ms": 1.531, + "p999_ms": 3.005, + "max_ms": 12.907, + "histogram": [ + 20414, + 644, + 40, + 10, + 1, + 3, + 2, + 2, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 20813, + "seconds": 12.0, + "avg_fps": 1734.41, + "low_1pct_fps": 463.506, + "low_01pct_fps": 175.213, + "p50_ms": 0.496, + "p95_ms": 0.924, + "p99_ms": 1.414, + "p999_ms": 2.733, + "max_ms": 16.832, + "histogram": [ + 20049, + 707, + 41, + 5, + 0, + 1, + 5, + 2, + 2, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 22100, + "seconds": 12.0, + "avg_fps": 1841.634, + "low_1pct_fps": 565.368, + "low_01pct_fps": 218.426, + "p50_ms": 0.483, + "p95_ms": 0.835, + "p99_ms": 1.209, + "p999_ms": 2.082, + "max_ms": 14.627, + "histogram": [ + 21540, + 532, + 18, + 1, + 1, + 1, + 2, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 21118, + "seconds": 12.0, + "avg_fps": 1759.788, + "low_1pct_fps": 452.445, + "low_01pct_fps": 175.546, + "p50_ms": 0.489, + "p95_ms": 0.915, + "p99_ms": 1.532, + "p999_ms": 2.811, + "max_ms": 11.846, + "histogram": [ + 20308, + 755, + 36, + 9, + 0, + 2, + 0, + 3, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 22125, + "seconds": 12.0, + "avg_fps": 1843.745, + "low_1pct_fps": 524.832, + "low_01pct_fps": 181.555, + "p50_ms": 0.477, + "p95_ms": 0.855, + "p99_ms": 1.241, + "p999_ms": 2.236, + "max_ms": 12.478, + "histogram": [ + 21487, + 608, + 18, + 1, + 1, + 1, + 2, + 2, + 1, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 18005, + "seconds": 12.0, + "avg_fps": 1500.383, + "low_1pct_fps": 403.944, + "low_01pct_fps": 136.465, + "p50_ms": 0.591, + "p95_ms": 1.058, + "p99_ms": 1.592, + "p999_ms": 3.186, + "max_ms": 12.608, + "histogram": [ + 16864, + 1084, + 32, + 8, + 0, + 5, + 3, + 5, + 1, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 17728, + "seconds": 12.001, + "avg_fps": 1477.269, + "low_1pct_fps": 395.097, + "low_01pct_fps": 138.609, + "p50_ms": 0.598, + "p95_ms": 1.042, + "p99_ms": 1.561, + "p999_ms": 5.033, + "max_ms": 11.462, + "histogram": [ + 16612, + 1051, + 39, + 7, + 1, + 6, + 5, + 3, + 1, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 18260, + "seconds": 12.0, + "avg_fps": 1521.651, + "low_1pct_fps": 426.358, + "low_01pct_fps": 144.156, + "p50_ms": 0.585, + "p95_ms": 1.015, + "p99_ms": 1.458, + "p999_ms": 3.609, + "max_ms": 11.945, + "histogram": [ + 17267, + 943, + 26, + 6, + 5, + 2, + 3, + 3, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "vanilla-mods-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd32.json b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd32.json new file mode 100644 index 0000000000..1e3b64bdad --- /dev/null +++ b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd32.json @@ -0,0 +1,706 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T00:46:55Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + }, + { + "name": "sodium", + "version": "mc26.3-0.9.2-fabric" + }, + { + "name": "lithium", + "version": "mc26.3-0.26.2-fabric" + }, + { + "name": "ferrite-core", + "version": "9.0.0-fabric" + }, + { + "name": "immediatelyfast", + "version": "1.17.1+26.3-fabric" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 32, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 10579.607, + "stdev": 51.525, + "min": 10545.848, + "max": 10638.914, + "ci95": 128.005 + }, + "startup.world_ms": { + "n": 3, + "mean": 39641.941, + "stdev": 450.854, + "min": 39151.848, + "max": 40039.06, + "ci95": 1120.074 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 11527.263, + "stdev": 254.884, + "min": 11292.977, + "max": 11798.674, + "ci95": 633.218 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 873.726, + "stdev": 9.39, + "min": 867.903, + "max": 884.558, + "ci95": 23.327 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 228.118, + "stdev": 10.849, + "min": 221.275, + "max": 240.626, + "ci95": 26.951 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 86.956, + "stdev": 6.527, + "min": 82.765, + "max": 94.477, + "ci95": 16.216 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 18068.843, + "stdev": 281.958, + "min": 17889.558, + "max": 18393.842, + "ci95": 700.478 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 896.196, + "stdev": 12.731, + "min": 885.623, + "max": 910.328, + "ci95": 31.628 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 239.97, + "stdev": 63.524, + "min": 167.719, + "max": 287.057, + "ci95": 157.815 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 84.541, + "stdev": 46.231, + "min": 31.164, + "max": 111.947, + "ci95": 114.854 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 13070.829, + "stdev": 539.964, + "min": 12649.256, + "max": 13679.446, + "ci95": 1341.454 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 981.091, + "stdev": 8.31, + "min": 971.497, + "max": 985.989, + "ci95": 20.644 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 295.618, + "stdev": 10.575, + "min": 284.111, + "max": 304.909, + "ci95": 26.271 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 109.613, + "stdev": 3.421, + "min": 105.7, + "max": 112.034, + "ci95": 8.498 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 41232.879, + "stdev": 2177.009, + "min": 39403.388, + "max": 43640.639, + "ci95": 5408.428 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 636.544, + "stdev": 1.181, + "min": 635.194, + "max": 637.382, + "ci95": 2.933 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 157.7, + "stdev": 4.392, + "min": 153.234, + "max": 162.015, + "ci95": 10.912 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 82.761, + "stdev": 14.956, + "min": 69.905, + "max": 99.175, + "ci95": 37.155 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2972.142, + "stdev": 15.188, + "min": 2961.82, + "max": 2989.582, + "ci95": 37.733 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 2887.813, + "stdev": 15.208, + "min": 2871.518, + "max": 2901.629, + "ci95": 37.782 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 10415, + "seconds": 12.0, + "avg_fps": 867.903, + "low_1pct_fps": 221.275, + "low_01pct_fps": 83.627, + "p50_ms": 1.028, + "p95_ms": 1.701, + "p99_ms": 2.65, + "p999_ms": 8.158, + "max_ms": 17.498, + "histogram": [ + 4279, + 5858, + 209, + 37, + 11, + 4, + 3, + 4, + 2, + 4, + 1, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 10615, + "seconds": 12.0, + "avg_fps": 884.558, + "low_1pct_fps": 240.626, + "low_01pct_fps": 94.477, + "p50_ms": 1.019, + "p95_ms": 1.665, + "p99_ms": 2.523, + "p999_ms": 8.204, + "max_ms": 15.348, + "histogram": [ + 4535, + 5820, + 209, + 26, + 6, + 0, + 4, + 6, + 3, + 3, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 10425, + "seconds": 12.0, + "avg_fps": 868.717, + "low_1pct_fps": 222.452, + "low_01pct_fps": 82.765, + "p50_ms": 1.025, + "p95_ms": 1.721, + "p99_ms": 2.607, + "p999_ms": 8.255, + "max_ms": 18.727, + "histogram": [ + 4341, + 5773, + 243, + 36, + 10, + 4, + 5, + 4, + 1, + 3, + 2, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 10712, + "seconds": 12.0, + "avg_fps": 892.638, + "low_1pct_fps": 167.719, + "low_01pct_fps": 31.164, + "p50_ms": 1.014, + "p95_ms": 1.433, + "p99_ms": 2.189, + "p999_ms": 5.078, + "max_ms": 264.928, + "histogram": [ + 3766, + 6798, + 100, + 24, + 12, + 3, + 1, + 4, + 2, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 10628, + "seconds": 12.001, + "avg_fps": 885.623, + "low_1pct_fps": 265.133, + "low_01pct_fps": 111.947, + "p50_ms": 1.03, + "p95_ms": 1.578, + "p99_ms": 2.434, + "p999_ms": 5.285, + "max_ms": 18.224, + "histogram": [ + 2935, + 7419, + 223, + 23, + 12, + 8, + 1, + 3, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 10924, + "seconds": 12.0, + "avg_fps": 910.328, + "low_1pct_fps": 287.057, + "low_01pct_fps": 110.512, + "p50_ms": 1.018, + "p95_ms": 1.434, + "p99_ms": 2.173, + "p999_ms": 5.418, + "max_ms": 16.721, + "histogram": [ + 3283, + 7477, + 124, + 18, + 10, + 3, + 2, + 2, + 2, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 11830, + "seconds": 12.001, + "avg_fps": 985.788, + "low_1pct_fps": 304.909, + "low_01pct_fps": 112.034, + "p50_ms": 0.935, + "p95_ms": 1.367, + "p99_ms": 2.064, + "p999_ms": 4.869, + "max_ms": 15.09, + "histogram": [ + 7990, + 3711, + 90, + 25, + 3, + 1, + 1, + 4, + 2, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 11658, + "seconds": 12.0, + "avg_fps": 971.497, + "low_1pct_fps": 284.111, + "low_01pct_fps": 105.7, + "p50_ms": 0.943, + "p95_ms": 1.48, + "p99_ms": 2.267, + "p999_ms": 5.22, + "max_ms": 12.004, + "histogram": [ + 7906, + 3551, + 156, + 30, + 2, + 3, + 1, + 1, + 1, + 6, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 11832, + "seconds": 12.0, + "avg_fps": 985.989, + "low_1pct_fps": 297.834, + "low_01pct_fps": 111.106, + "p50_ms": 0.939, + "p95_ms": 1.39, + "p99_ms": 2.18, + "p999_ms": 5.301, + "max_ms": 11.778, + "histogram": [ + 8404, + 3254, + 140, + 19, + 3, + 1, + 0, + 3, + 4, + 4, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 7649, + "seconds": 12.001, + "avg_fps": 637.382, + "low_1pct_fps": 153.234, + "low_01pct_fps": 69.905, + "p50_ms": 1.456, + "p95_ms": 1.977, + "p99_ms": 3.745, + "p999_ms": 10.735, + "max_ms": 18.673, + "histogram": [ + 59, + 7225, + 250, + 46, + 17, + 24, + 11, + 5, + 2, + 4, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 7645, + "seconds": 12.0, + "avg_fps": 637.057, + "low_1pct_fps": 157.852, + "low_01pct_fps": 79.203, + "p50_ms": 1.457, + "p95_ms": 2.001, + "p99_ms": 3.84, + "p999_ms": 9.776, + "max_ms": 16.41, + "histogram": [ + 65, + 7196, + 284, + 31, + 15, + 28, + 8, + 6, + 5, + 2, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 7623, + "seconds": 12.001, + "avg_fps": 635.194, + "low_1pct_fps": 162.015, + "low_01pct_fps": 99.175, + "p50_ms": 1.457, + "p95_ms": 2.079, + "p99_ms": 3.969, + "p999_ms": 8.914, + "max_ms": 12.607, + "histogram": [ + 46, + 7145, + 315, + 45, + 18, + 21, + 15, + 7, + 8, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "vanilla-mods-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd8.json b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd8.json new file mode 100644 index 0000000000..1b57f0bc22 --- /dev/null +++ b/benchmarks/perf/vanilla-mods-win-9800x3d-5080-rd8.json @@ -0,0 +1,706 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T01:04:24Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + }, + { + "name": "sodium", + "version": "mc26.3-0.9.2-fabric" + }, + { + "name": "lithium", + "version": "mc26.3-0.26.2-fabric" + }, + { + "name": "ferrite-core", + "version": "9.0.0-fabric" + }, + { + "name": "immediatelyfast", + "version": "1.17.1+26.3-fabric" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 8, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 10851.793, + "stdev": 327.103, + "min": 10475.172, + "max": 11064.878, + "ci95": 812.633 + }, + "startup.world_ms": { + "n": 3, + "mean": 17691.793, + "stdev": 212.048, + "min": 17447.172, + "max": 17823.328, + "ci95": 526.8 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 3743.819, + "stdev": 6.5, + "min": 3738.838, + "max": 3751.171, + "ci95": 16.147 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 1918.222, + "stdev": 27.246, + "min": 1890.786, + "max": 1945.273, + "ci95": 67.687 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 484.818, + "stdev": 12.627, + "min": 476.831, + "max": 499.375, + "ci95": 31.369 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 176.809, + "stdev": 9.062, + "min": 168.265, + "max": 186.312, + "ci95": 22.512 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 3710.667, + "stdev": 528.759, + "min": 3377.98, + "max": 4320.379, + "ci95": 1313.617 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 2281.077, + "stdev": 18.889, + "min": 2265.389, + "max": 2302.043, + "ci95": 46.926 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 632.224, + "stdev": 13.32, + "min": 619.867, + "max": 646.333, + "ci95": 33.09 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 241.449, + "stdev": 9.301, + "min": 231.114, + "max": 249.147, + "ci95": 23.108 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 2772.358, + "stdev": 104.014, + "min": 2691.441, + "max": 2889.682, + "ci95": 258.406 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 2210.565, + "stdev": 128.582, + "min": 2070.69, + "max": 2323.625, + "ci95": 319.441 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 617.969, + "stdev": 30.485, + "min": 590.85, + "max": 650.964, + "ci95": 75.734 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 224.15, + "stdev": 10.075, + "min": 217.493, + "max": 235.741, + "ci95": 25.029 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 5212.387, + "stdev": 105.622, + "min": 5093.183, + "max": 5294.321, + "ci95": 262.4 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 2370.265, + "stdev": 76.715, + "min": 2294.757, + "max": 2448.132, + "ci95": 190.585 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 643.511, + "stdev": 42.976, + "min": 594.473, + "max": 674.619, + "ci95": 106.768 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 231.005, + "stdev": 10.111, + "min": 219.537, + "max": 238.635, + "ci95": 25.119 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2049.517, + "stdev": 19.481, + "min": 2036.434, + "max": 2071.906, + "ci95": 48.399 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 1944.245, + "stdev": 14.535, + "min": 1930.855, + "max": 1959.703, + "ci95": 36.109 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 22699, + "seconds": 12.005, + "avg_fps": 1890.786, + "low_1pct_fps": 476.831, + "low_01pct_fps": 175.851, + "p50_ms": 0.471, + "p95_ms": 0.839, + "p99_ms": 1.409, + "p999_ms": 2.64, + "max_ms": 13.124, + "histogram": [ + 22022, + 622, + 35, + 4, + 1, + 7, + 3, + 2, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 23024, + "seconds": 12.0, + "avg_fps": 1918.608, + "low_1pct_fps": 478.247, + "low_01pct_fps": 168.265, + "p50_ms": 0.468, + "p95_ms": 0.805, + "p99_ms": 1.328, + "p999_ms": 3.691, + "max_ms": 11.944, + "histogram": [ + 22459, + 511, + 28, + 4, + 6, + 11, + 0, + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 23344, + "seconds": 12.0, + "avg_fps": 1945.273, + "low_1pct_fps": 499.375, + "low_01pct_fps": 186.312, + "p50_ms": 0.462, + "p95_ms": 0.789, + "p99_ms": 1.34, + "p999_ms": 2.524, + "max_ms": 10.349, + "histogram": [ + 22785, + 509, + 30, + 2, + 3, + 8, + 3, + 3, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 27310, + "seconds": 12.0, + "avg_fps": 2275.798, + "low_1pct_fps": 619.867, + "low_01pct_fps": 231.114, + "p50_ms": 0.388, + "p95_ms": 0.662, + "p99_ms": 1.1, + "p999_ms": 1.934, + "max_ms": 10.245, + "histogram": [ + 26939, + 348, + 7, + 3, + 5, + 2, + 1, + 3, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 27625, + "seconds": 12.0, + "avg_fps": 2302.043, + "low_1pct_fps": 646.333, + "low_01pct_fps": 244.087, + "p50_ms": 0.388, + "p95_ms": 0.654, + "p99_ms": 1.021, + "p999_ms": 1.943, + "max_ms": 10.084, + "histogram": [ + 27323, + 278, + 6, + 4, + 7, + 3, + 3, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 27185, + "seconds": 12.0, + "avg_fps": 2265.389, + "low_1pct_fps": 630.473, + "low_01pct_fps": 249.147, + "p50_ms": 0.388, + "p95_ms": 0.686, + "p99_ms": 1.103, + "p999_ms": 1.779, + "max_ms": 8.659, + "histogram": [ + 26794, + 371, + 3, + 1, + 9, + 4, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 27884, + "seconds": 12.0, + "avg_fps": 2323.625, + "low_1pct_fps": 650.964, + "low_01pct_fps": 217.493, + "p50_ms": 0.387, + "p95_ms": 0.64, + "p99_ms": 0.988, + "p999_ms": 1.792, + "max_ms": 12.718, + "histogram": [ + 27627, + 236, + 1, + 5, + 4, + 5, + 3, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 24850, + "seconds": 12.001, + "avg_fps": 2070.69, + "low_1pct_fps": 590.85, + "low_01pct_fps": 235.741, + "p50_ms": 0.415, + "p95_ms": 0.746, + "p99_ms": 1.112, + "p999_ms": 2.056, + "max_ms": 9.223, + "histogram": [ + 24463, + 359, + 14, + 3, + 3, + 4, + 0, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 26849, + "seconds": 12.0, + "avg_fps": 2237.381, + "low_1pct_fps": 612.094, + "low_01pct_fps": 219.217, + "p50_ms": 0.392, + "p95_ms": 0.683, + "p99_ms": 1.09, + "p999_ms": 1.991, + "max_ms": 10.96, + "histogram": [ + 26473, + 350, + 8, + 3, + 5, + 2, + 5, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 29378, + "seconds": 12.0, + "avg_fps": 2448.132, + "low_1pct_fps": 674.619, + "low_01pct_fps": 238.635, + "p50_ms": 0.364, + "p95_ms": 0.597, + "p99_ms": 0.911, + "p999_ms": 1.912, + "max_ms": 7.874, + "histogram": [ + 29168, + 182, + 7, + 6, + 7, + 3, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 28415, + "seconds": 12.0, + "avg_fps": 2367.906, + "low_1pct_fps": 661.441, + "low_01pct_fps": 234.842, + "p50_ms": 0.372, + "p95_ms": 0.633, + "p99_ms": 0.964, + "p999_ms": 1.895, + "max_ms": 8.528, + "histogram": [ + 28172, + 219, + 2, + 6, + 6, + 7, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 27538, + "seconds": 12.0, + "avg_fps": 2294.757, + "low_1pct_fps": 594.473, + "low_01pct_fps": 219.537, + "p50_ms": 0.371, + "p95_ms": 0.696, + "p99_ms": 1.142, + "p999_ms": 1.951, + "max_ms": 9.778, + "histogram": [ + 27144, + 368, + 9, + 1, + 5, + 4, + 4, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "vanilla-mods-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-win-9800x3d-5080-rd16.json b/benchmarks/perf/vanilla-win-9800x3d-5080-rd16.json new file mode 100644 index 0000000000..4aa077830a --- /dev/null +++ b/benchmarks/perf/vanilla-win-9800x3d-5080-rd16.json @@ -0,0 +1,690 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T01:19:23Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 16, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 7681.834, + "stdev": 189.48, + "min": 7538.777, + "max": 7896.728, + "ci95": 470.732 + }, + "startup.world_ms": { + "n": 3, + "mean": 19898.834, + "stdev": 192.981, + "min": 19695.728, + "max": 20079.777, + "ci95": 479.431 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 6127.947, + "stdev": 26.756, + "min": 6097.19, + "max": 6145.854, + "ci95": 66.471 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 1218.486, + "stdev": 26.337, + "min": 1188.13, + "max": 1235.248, + "ci95": 65.43 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 318.468, + "stdev": 6.292, + "min": 313.2, + "max": 325.435, + "ci95": 15.632 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 126.59, + "stdev": 1.844, + "min": 124.744, + "max": 128.431, + "ci95": 4.58 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 8548.814, + "stdev": 152.302, + "min": 8380.912, + "max": 8678.071, + "ci95": 378.37 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 1912.359, + "stdev": 130.238, + "min": 1791.386, + "max": 2050.215, + "ci95": 323.555 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 401.907, + "stdev": 35.911, + "min": 379.849, + "max": 443.345, + "ci95": 89.216 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 149.26, + "stdev": 9.983, + "min": 139.809, + "max": 159.701, + "ci95": 24.801 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 6953.478, + "stdev": 276.636, + "min": 6635.649, + "max": 7140.072, + "ci95": 687.258 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 1860.512, + "stdev": 116.512, + "min": 1726.149, + "max": 1933.597, + "ci95": 289.454 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 446.336, + "stdev": 56.993, + "min": 382.26, + "max": 491.369, + "ci95": 141.589 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 164.934, + "stdev": 11.839, + "min": 152.493, + "max": 176.062, + "ci95": 29.413 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 15211.386, + "stdev": 256.348, + "min": 14938.008, + "max": 15446.375, + "ci95": 636.856 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 1653.223, + "stdev": 61.705, + "min": 1584.652, + "max": 1704.273, + "ci95": 153.297 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 331.929, + "stdev": 10.858, + "min": 319.394, + "max": 338.396, + "ci95": 26.974 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 113.436, + "stdev": 3.255, + "min": 110.869, + "max": 117.097, + "ci95": 8.086 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2540.129, + "stdev": 152.057, + "min": 2373.152, + "max": 2670.633, + "ci95": 377.761 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 2299.514, + "stdev": 81.451, + "min": 2207.129, + "max": 2360.973, + "ci95": 202.352 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 14785, + "seconds": 12.0, + "avg_fps": 1232.081, + "low_1pct_fps": 325.435, + "low_01pct_fps": 128.431, + "p50_ms": 0.742, + "p95_ms": 1.265, + "p99_ms": 2.032, + "p999_ms": 5.653, + "max_ms": 12.791, + "histogram": [ + 12845, + 1784, + 127, + 7, + 1, + 8, + 4, + 3, + 5, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 14258, + "seconds": 12.0, + "avg_fps": 1188.13, + "low_1pct_fps": 313.2, + "low_01pct_fps": 126.595, + "p50_ms": 0.757, + "p95_ms": 1.349, + "p99_ms": 2.12, + "p999_ms": 5.541, + "max_ms": 13.998, + "histogram": [ + 11994, + 2076, + 157, + 9, + 2, + 8, + 2, + 4, + 5, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 14823, + "seconds": 12.0, + "avg_fps": 1235.248, + "low_1pct_fps": 316.768, + "low_01pct_fps": 124.744, + "p50_ms": 0.744, + "p95_ms": 1.199, + "p99_ms": 2.047, + "p999_ms": 5.628, + "max_ms": 15.519, + "histogram": [ + 13214, + 1453, + 118, + 16, + 2, + 8, + 6, + 3, + 0, + 1, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 21497, + "seconds": 12.0, + "avg_fps": 1791.386, + "low_1pct_fps": 382.527, + "low_01pct_fps": 139.809, + "p50_ms": 0.474, + "p95_ms": 0.931, + "p99_ms": 1.646, + "p999_ms": 5.274, + "max_ms": 13.459, + "histogram": [ + 20598, + 799, + 66, + 9, + 3, + 8, + 8, + 2, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 24603, + "seconds": 12.0, + "avg_fps": 2050.215, + "low_1pct_fps": 443.345, + "low_01pct_fps": 159.701, + "p50_ms": 0.426, + "p95_ms": 0.752, + "p99_ms": 1.442, + "p999_ms": 3.134, + "max_ms": 13.282, + "histogram": [ + 24041, + 487, + 48, + 6, + 5, + 6, + 2, + 3, + 3, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 22746, + "seconds": 12.0, + "avg_fps": 1895.476, + "low_1pct_fps": 379.849, + "low_01pct_fps": 148.269, + "p50_ms": 0.456, + "p95_ms": 0.829, + "p99_ms": 1.561, + "p999_ms": 4.176, + "max_ms": 10.671, + "histogram": [ + 22092, + 523, + 91, + 17, + 4, + 7, + 3, + 4, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 23062, + "seconds": 12.0, + "avg_fps": 1921.791, + "low_1pct_fps": 465.379, + "low_01pct_fps": 166.247, + "p50_ms": 0.463, + "p95_ms": 0.809, + "p99_ms": 1.45, + "p999_ms": 2.398, + "max_ms": 11.808, + "histogram": [ + 22454, + 561, + 27, + 3, + 2, + 6, + 0, + 4, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 23204, + "seconds": 12.0, + "avg_fps": 1933.597, + "low_1pct_fps": 491.369, + "low_01pct_fps": 176.062, + "p50_ms": 0.466, + "p95_ms": 0.766, + "p99_ms": 1.406, + "p999_ms": 2.229, + "max_ms": 15.102, + "histogram": [ + 22699, + 469, + 19, + 4, + 1, + 1, + 4, + 2, + 2, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 20714, + "seconds": 12.0, + "avg_fps": 1726.149, + "low_1pct_fps": 382.26, + "low_01pct_fps": 152.493, + "p50_ms": 0.5, + "p95_ms": 0.956, + "p99_ms": 1.742, + "p999_ms": 3.852, + "max_ms": 12.888, + "histogram": [ + 19814, + 787, + 83, + 11, + 2, + 7, + 3, + 5, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 20049, + "seconds": 12.0, + "avg_fps": 1670.745, + "low_1pct_fps": 338.396, + "low_01pct_fps": 117.097, + "p50_ms": 0.502, + "p95_ms": 0.949, + "p99_ms": 1.673, + "p999_ms": 6.456, + "max_ms": 16.791, + "histogram": [ + 19187, + 753, + 70, + 8, + 1, + 6, + 12, + 4, + 3, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 19016, + "seconds": 12.0, + "avg_fps": 1584.652, + "low_1pct_fps": 337.998, + "low_01pct_fps": 112.343, + "p50_ms": 0.531, + "p95_ms": 1.082, + "p99_ms": 1.717, + "p999_ms": 5.939, + "max_ms": 12.958, + "histogram": [ + 17849, + 1069, + 63, + 7, + 3, + 6, + 2, + 7, + 4, + 5, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 20452, + "seconds": 12.0, + "avg_fps": 1704.273, + "low_1pct_fps": 319.394, + "low_01pct_fps": 110.869, + "p50_ms": 0.496, + "p95_ms": 0.911, + "p99_ms": 1.706, + "p999_ms": 5.938, + "max_ms": 24.863, + "histogram": [ + 19694, + 626, + 82, + 14, + 3, + 14, + 5, + 4, + 5, + 3, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "vanilla-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-win-9800x3d-5080-rd32.json b/benchmarks/perf/vanilla-win-9800x3d-5080-rd32.json new file mode 100644 index 0000000000..c374fb3b44 --- /dev/null +++ b/benchmarks/perf/vanilla-win-9800x3d-5080-rd32.json @@ -0,0 +1,690 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T00:36:50Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 32, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 7519.314, + "stdev": 88.793, + "min": 7416.787, + "max": 7571.277, + "ci95": 220.593 + }, + "startup.world_ms": { + "n": 3, + "mean": 35547.314, + "stdev": 501.475, + "min": 35154.878, + "max": 36112.277, + "ci95": 1245.833 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 11626.62, + "stdev": 52.328, + "min": 11592.436, + "max": 11686.861, + "ci95": 130.001 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 828.861, + "stdev": 34.207, + "min": 804.329, + "max": 867.936, + "ci95": 84.981 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 175.469, + "stdev": 10.044, + "min": 168.723, + "max": 187.013, + "ci95": 24.954 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 84.625, + "stdev": 4.861, + "min": 81.328, + "max": 90.207, + "ci95": 12.075 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 17545.553, + "stdev": 398.935, + "min": 17130.927, + "max": 17926.684, + "ci95": 991.088 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 1171.156, + "stdev": 39.406, + "min": 1125.657, + "max": 1194.296, + "ci95": 97.897 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 227.434, + "stdev": 11.271, + "min": 217.235, + "max": 239.535, + "ci95": 28.001 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 104.103, + "stdev": 6.862, + "min": 97.165, + "max": 110.887, + "ci95": 17.048 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 12678.89, + "stdev": 434.642, + "min": 12223.702, + "max": 13089.559, + "ci95": 1079.797 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 1157.608, + "stdev": 76.266, + "min": 1109.557, + "max": 1245.546, + "ci95": 189.47 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 227.947, + "stdev": 7.08, + "min": 220.546, + "max": 234.656, + "ci95": 17.59 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 95.9, + "stdev": 6.076, + "min": 89.058, + "max": 100.667, + "ci95": 15.095 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 43615.366, + "stdev": 1301.435, + "min": 42250.751, + "max": 44842.746, + "ci95": 3233.205 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 795.178, + "stdev": 13.276, + "min": 780.268, + "max": 805.718, + "ci95": 32.981 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 51.15, + "stdev": 4.516, + "min": 47.745, + "max": 56.273, + "ci95": 11.22 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 7.056, + "stdev": 0.945, + "min": 6.428, + "max": 8.143, + "ci95": 2.348 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 2871.354, + "stdev": 23.387, + "min": 2844.664, + "max": 2888.262, + "ci95": 58.102 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 2778.587, + "stdev": 6.916, + "min": 2773.643, + "max": 2786.49, + "ci95": 17.181 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 9652, + "seconds": 12.0, + "avg_fps": 804.329, + "low_1pct_fps": 170.672, + "low_01pct_fps": 82.34, + "p50_ms": 1.09, + "p95_ms": 2.062, + "p99_ms": 3.526, + "p999_ms": 9.757, + "max_ms": 17.717, + "histogram": [ + 3046, + 6091, + 360, + 85, + 29, + 12, + 8, + 6, + 7, + 5, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 9772, + "seconds": 12.0, + "avg_fps": 814.318, + "low_1pct_fps": 168.723, + "low_01pct_fps": 81.328, + "p50_ms": 1.052, + "p95_ms": 2.089, + "p99_ms": 3.65, + "p999_ms": 9.315, + "max_ms": 17.12, + "histogram": [ + 3894, + 5309, + 416, + 76, + 19, + 29, + 13, + 5, + 3, + 5, + 0, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 10416, + "seconds": 12.001, + "avg_fps": 867.936, + "low_1pct_fps": 187.013, + "low_01pct_fps": 90.207, + "p50_ms": 1.041, + "p95_ms": 1.862, + "p99_ms": 3.014, + "p999_ms": 8.818, + "max_ms": 15.107, + "histogram": [ + 4375, + 5605, + 331, + 41, + 21, + 12, + 14, + 6, + 5, + 4, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 14323, + "seconds": 12.001, + "avg_fps": 1193.516, + "low_1pct_fps": 225.531, + "low_01pct_fps": 97.165, + "p50_ms": 0.706, + "p95_ms": 1.365, + "p99_ms": 2.537, + "p999_ms": 7.83, + "max_ms": 14.008, + "histogram": [ + 12506, + 1507, + 211, + 34, + 33, + 14, + 3, + 3, + 5, + 2, + 4, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 13508, + "seconds": 12.0, + "avg_fps": 1125.657, + "low_1pct_fps": 217.235, + "low_01pct_fps": 104.256, + "p50_ms": 0.753, + "p95_ms": 1.464, + "p99_ms": 2.512, + "p999_ms": 7.568, + "max_ms": 11.744, + "histogram": [ + 11236, + 1974, + 199, + 33, + 22, + 22, + 8, + 2, + 6, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 14332, + "seconds": 12.0, + "avg_fps": 1194.296, + "low_1pct_fps": 239.535, + "low_01pct_fps": 110.887, + "p50_ms": 0.722, + "p95_ms": 1.361, + "p99_ms": 2.344, + "p999_ms": 6.143, + "max_ms": 15.3, + "histogram": [ + 12584, + 1494, + 170, + 23, + 25, + 19, + 5, + 4, + 3, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 14947, + "seconds": 12.0, + "avg_fps": 1245.546, + "low_1pct_fps": 234.656, + "low_01pct_fps": 100.667, + "p50_ms": 0.693, + "p95_ms": 1.226, + "p99_ms": 2.351, + "p999_ms": 7.44, + "max_ms": 12.815, + "histogram": [ + 13471, + 1229, + 160, + 32, + 20, + 10, + 8, + 6, + 3, + 7, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 13315, + "seconds": 12.0, + "avg_fps": 1109.557, + "low_1pct_fps": 228.639, + "low_01pct_fps": 97.974, + "p50_ms": 0.779, + "p95_ms": 1.468, + "p99_ms": 2.405, + "p999_ms": 7.296, + "max_ms": 17.429, + "histogram": [ + 10929, + 2099, + 209, + 27, + 15, + 14, + 7, + 4, + 6, + 3, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 13413, + "seconds": 12.0, + "avg_fps": 1117.722, + "low_1pct_fps": 220.546, + "low_01pct_fps": 89.058, + "p50_ms": 0.769, + "p95_ms": 1.495, + "p99_ms": 2.482, + "p999_ms": 7.325, + "max_ms": 15.302, + "histogram": [ + 10856, + 2245, + 231, + 26, + 14, + 18, + 9, + 1, + 5, + 3, + 3, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 9553, + "seconds": 12.243, + "avg_fps": 780.268, + "low_1pct_fps": 47.745, + "low_01pct_fps": 6.428, + "p50_ms": 0.934, + "p95_ms": 2.003, + "p99_ms": 4.079, + "p999_ms": 9.302, + "max_ms": 337.521, + "histogram": [ + 5726, + 3347, + 292, + 96, + 39, + 25, + 12, + 5, + 2, + 3, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 9595, + "seconds": 12.001, + "avg_fps": 799.547, + "low_1pct_fps": 56.273, + "low_01pct_fps": 8.143, + "p50_ms": 0.94, + "p95_ms": 1.988, + "p99_ms": 3.974, + "p999_ms": 10.494, + "max_ms": 297.584, + "histogram": [ + 5909, + 3213, + 293, + 90, + 26, + 31, + 12, + 8, + 3, + 2, + 1, + 1, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 4, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 9669, + "seconds": 12.0, + "avg_fps": 805.718, + "low_1pct_fps": 49.432, + "low_01pct_fps": 6.597, + "p50_ms": 0.901, + "p95_ms": 1.95, + "p99_ms": 4.002, + "p999_ms": 7.327, + "max_ms": 319.296, + "histogram": [ + 6295, + 2928, + 278, + 77, + 35, + 33, + 13, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + 0, + 0 + ] + } + ], + "label": "vanilla-win-9800x3d-5080" +} diff --git a/benchmarks/perf/vanilla-win-9800x3d-5080-rd8.json b/benchmarks/perf/vanilla-win-9800x3d-5080-rd8.json new file mode 100644 index 0000000000..53854b0266 --- /dev/null +++ b/benchmarks/perf/vanilla-win-9800x3d-5080-rd8.json @@ -0,0 +1,690 @@ +{ + "format": "horizon-benchmark-report", + "version": 1, + "kind": "game", + "created": "2026-10-29T00:58:57Z", + "app": { + "name": "minecraft", + "version": "26.3", + "mods": [ + { + "name": "fabric-loader", + "version": "0.19.5" + } + ] + }, + "hardware": { + "os": "windows", + "arch": "x86_64", + "cpu_threads": 16, + "os_version": "Microsoft Windows [Version 10.0.26200.8037]", + "cpu": "AMD Ryzen 7 9800X3D 8-Core Processor", + "ram_mb": 95943, + "gpu": { + "name": "NVIDIA GeForce RTX 5080/PCIe/SSE2", + "vendor": "NVIDIA Corporation", + "driver": "3.3.0 NVIDIA 617.42", + "backend": "opengl", + "kind": "" + } + }, + "conditions": { + "scenario": "perf_bench:village,forest,ocean,mountain", + "seed": "1234", + "render_distance": 8, + "simulation_distance": 12, + "vsync": false, + "offscreen": false, + "repeats": 3, + "warmup_s": 2.0, + "window": [ + 1280, + 720 + ] + }, + "metrics": { + "startup.title_ms": { + "n": 3, + "mean": 7845.042, + "stdev": 48.277, + "min": 7789.744, + "max": 7878.797, + "ci95": 119.936 + }, + "startup.world_ms": { + "n": 3, + "mean": 14441.042, + "stdev": 530.819, + "min": 14011.797, + "max": 15034.584, + "ci95": 1318.733 + }, + "chunks.village.load_ms": { + "n": 3, + "mean": 3689.451, + "stdev": 49.063, + "min": 3640.031, + "max": 3738.15, + "ci95": 121.89 + }, + "fps.village.avg_fps": { + "n": 3, + "mean": 2038.591, + "stdev": 61.48, + "min": 1971.885, + "max": 2092.981, + "ci95": 152.738 + }, + "fps.village.low_1pct_fps": { + "n": 3, + "mean": 449.876, + "stdev": 29.766, + "min": 423.44, + "max": 482.117, + "ci95": 73.949 + }, + "fps.village.low_01pct_fps": { + "n": 3, + "mean": 194.232, + "stdev": 3.358, + "min": 190.517, + "max": 197.052, + "ci95": 8.343 + }, + "chunks.forest.load_ms": { + "n": 3, + "mean": 3283.723, + "stdev": 53.782, + "min": 3225.81, + "max": 3332.098, + "ci95": 133.613 + }, + "fps.forest.avg_fps": { + "n": 3, + "mean": 2466.512, + "stdev": 61.354, + "min": 2401.953, + "max": 2524.059, + "ci95": 152.425 + }, + "fps.forest.low_1pct_fps": { + "n": 3, + "mean": 559.56, + "stdev": 34.74, + "min": 530.614, + "max": 598.084, + "ci95": 86.305 + }, + "fps.forest.low_01pct_fps": { + "n": 3, + "mean": 235.224, + "stdev": 20.252, + "min": 216.371, + "max": 256.633, + "ci95": 50.314 + }, + "chunks.ocean.load_ms": { + "n": 3, + "mean": 3076.903, + "stdev": 95.478, + "min": 2981.182, + "max": 3172.136, + "ci95": 237.2 + }, + "fps.ocean.avg_fps": { + "n": 3, + "mean": 2283.574, + "stdev": 205.563, + "min": 2080.777, + "max": 2491.795, + "ci95": 510.687 + }, + "fps.ocean.low_1pct_fps": { + "n": 3, + "mean": 550.872, + "stdev": 82.939, + "min": 475.172, + "max": 639.526, + "ci95": 206.049 + }, + "fps.ocean.low_01pct_fps": { + "n": 3, + "mean": 245.366, + "stdev": 29.259, + "min": 216.374, + "max": 274.884, + "ci95": 72.688 + }, + "chunks.mountain.load_ms": { + "n": 3, + "mean": 5947.075, + "stdev": 102.202, + "min": 5845.74, + "max": 6050.123, + "ci95": 253.906 + }, + "fps.mountain.avg_fps": { + "n": 3, + "mean": 2372.251, + "stdev": 18.022, + "min": 2352.796, + "max": 2388.376, + "ci95": 44.773 + }, + "fps.mountain.low_1pct_fps": { + "n": 3, + "mean": 542.869, + "stdev": 19.171, + "min": 521.464, + "max": 558.459, + "ci95": 47.627 + }, + "fps.mountain.low_01pct_fps": { + "n": 3, + "mean": 228.737, + "stdev": 11.605, + "min": 215.671, + "max": 237.844, + "ci95": 28.83 + }, + "memory.rss_peak_mb": { + "n": 3, + "mean": 1976.021, + "stdev": 71.68, + "min": 1931.695, + "max": 2058.719, + "ci95": 178.078 + }, + "memory.rss_steady_mb": { + "n": 3, + "mean": 1850.148, + "stdev": 14.417, + "min": 1838.402, + "max": 1866.238, + "ci95": 35.818 + } + }, + "frames": [ + { + "phase": "village", + "repeat": 0, + "frames": 25117, + "seconds": 12.001, + "avg_fps": 2092.981, + "low_1pct_fps": 482.117, + "low_01pct_fps": 197.052, + "p50_ms": 0.422, + "p95_ms": 0.746, + "p99_ms": 1.4, + "p999_ms": 3.095, + "max_ms": 10.432, + "histogram": [ + 24595, + 460, + 36, + 8, + 6, + 7, + 2, + 2, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 1, + "frames": 24611, + "seconds": 12.0, + "avg_fps": 2050.906, + "low_1pct_fps": 444.072, + "low_01pct_fps": 195.127, + "p50_ms": 0.45, + "p95_ms": 0.754, + "p99_ms": 1.547, + "p999_ms": 3.559, + "max_ms": 9.304, + "histogram": [ + 24153, + 362, + 65, + 17, + 3, + 6, + 2, + 1, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "village", + "repeat": 2, + "frames": 23663, + "seconds": 12.0, + "avg_fps": 1971.885, + "low_1pct_fps": 423.44, + "low_01pct_fps": 190.517, + "p50_ms": 0.461, + "p95_ms": 0.775, + "p99_ms": 1.677, + "p999_ms": 3.008, + "max_ms": 10.636, + "histogram": [ + 23165, + 376, + 98, + 10, + 4, + 3, + 2, + 1, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 0, + "frames": 30289, + "seconds": 12.0, + "avg_fps": 2524.059, + "low_1pct_fps": 598.084, + "low_01pct_fps": 256.633, + "p50_ms": 0.349, + "p95_ms": 0.603, + "p99_ms": 1.185, + "p999_ms": 2.035, + "max_ms": 8.147, + "histogram": [ + 29859, + 397, + 19, + 0, + 5, + 3, + 3, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 1, + "frames": 29683, + "seconds": 12.0, + "avg_fps": 2473.525, + "low_1pct_fps": 549.983, + "low_01pct_fps": 216.371, + "p50_ms": 0.353, + "p95_ms": 0.612, + "p99_ms": 1.189, + "p999_ms": 2.149, + "max_ms": 11.867, + "histogram": [ + 29297, + 351, + 17, + 3, + 5, + 2, + 4, + 2, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "forest", + "repeat": 2, + "frames": 28824, + "seconds": 12.0, + "avg_fps": 2401.953, + "low_1pct_fps": 530.614, + "low_01pct_fps": 232.668, + "p50_ms": 0.364, + "p95_ms": 0.636, + "p99_ms": 1.29, + "p999_ms": 2.289, + "max_ms": 10.581, + "histogram": [ + 28375, + 392, + 40, + 7, + 2, + 1, + 2, + 4, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 0, + "frames": 29903, + "seconds": 12.001, + "avg_fps": 2491.795, + "low_1pct_fps": 639.526, + "low_01pct_fps": 274.884, + "p50_ms": 0.354, + "p95_ms": 0.59, + "p99_ms": 1.149, + "p999_ms": 1.76, + "max_ms": 10.565, + "histogram": [ + 29509, + 372, + 8, + 3, + 4, + 2, + 4, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 1, + "frames": 27338, + "seconds": 12.0, + "avg_fps": 2278.15, + "low_1pct_fps": 537.917, + "low_01pct_fps": 244.841, + "p50_ms": 0.379, + "p95_ms": 0.71, + "p99_ms": 1.353, + "p999_ms": 2.231, + "max_ms": 8.502, + "histogram": [ + 26766, + 521, + 37, + 2, + 2, + 5, + 2, + 2, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "ocean", + "repeat": 2, + "frames": 24970, + "seconds": 12.0, + "avg_fps": 2080.777, + "low_1pct_fps": 475.172, + "low_01pct_fps": 216.374, + "p50_ms": 0.393, + "p95_ms": 0.815, + "p99_ms": 1.477, + "p999_ms": 2.555, + "max_ms": 13.407, + "histogram": [ + 24258, + 627, + 72, + 3, + 1, + 2, + 3, + 2, + 1, + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 0, + "frames": 28508, + "seconds": 12.0, + "avg_fps": 2375.58, + "low_1pct_fps": 558.459, + "low_01pct_fps": 232.696, + "p50_ms": 0.351, + "p95_ms": 0.692, + "p99_ms": 1.285, + "p999_ms": 2.187, + "max_ms": 8.21, + "histogram": [ + 27897, + 575, + 18, + 3, + 5, + 3, + 4, + 3, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 1, + "frames": 28234, + "seconds": 12.0, + "avg_fps": 2352.796, + "low_1pct_fps": 521.464, + "low_01pct_fps": 215.671, + "p50_ms": 0.355, + "p95_ms": 0.686, + "p99_ms": 1.329, + "p999_ms": 2.254, + "max_ms": 7.627, + "histogram": [ + 27689, + 497, + 28, + 2, + 4, + 7, + 2, + 5, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + }, + { + "phase": "mountain", + "repeat": 2, + "frames": 28661, + "seconds": 12.0, + "avg_fps": 2388.376, + "low_1pct_fps": 548.684, + "low_01pct_fps": 237.844, + "p50_ms": 0.351, + "p95_ms": 0.664, + "p99_ms": 1.307, + "p999_ms": 2.311, + "max_ms": 7.739, + "histogram": [ + 28104, + 514, + 23, + 6, + 5, + 5, + 3, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ] + } + ], + "label": "vanilla-win-9800x3d-5080" +} diff --git a/benchmarks/perf/windows-9800x3d-5080-2026-10-29.md b/benchmarks/perf/windows-9800x3d-5080-2026-10-29.md new file mode 100644 index 0000000000..b26c22fcc0 --- /dev/null +++ b/benchmarks/perf/windows-9800x3d-5080-2026-10-29.md @@ -0,0 +1,96 @@ +# Horizon v0.2.97 vs vanilla 26.3 on Windows 11: Ryzen 7 9800X3D + RTX 5080 (2026-10-29) + +The first `tools/perf_bench.py` run on Windows ([docs/benchmark.md](../../docs/benchmark.md)): Horizon, vanilla 26.3 and +vanilla with performance mods, render distances 8, 16 and 32, 1280x720, three games each, every game from a fresh +world. The reports are the `*-win-9800x3d-5080-rd*.json` files next to this page. + +```sh +python tools/perf_bench.py --table horizon-win-9800x3d-5080 vanilla-win-9800x3d-5080 vanilla-mods-win-9800x3d-5080 +``` + +## Setup + +- **Machine:** AMD Ryzen 7 9800X3D (8 cores, 16 threads), 94 GB RAM (DDR5, EXPO off), NVIDIA GeForce RTX 5080 + (driver 617.42), Windows 11 Pro 26200, Balanced power plan, desktop. One 1920x1080 120 Hz display. The game windows + were on the desktop of an unlocked session. +- **Horizon:** release v0.2.97 as the launcher installs it (`--build %APPDATA%\horizon-launcher\versions\v0.2.97`, + `--resources` its `.local\horizon-client\26.3`), Vulkan. +- **Vanilla:** the 26.3 client jar with Fabric Loader 0.19.5 and the driver mod, Java 25.0.5 (Temurin), `-Xmx2G` + with the launcher's G1 flags and the manifest's `-XX:StackShadowPages=32`, OpenGL 3.3. +- **Vanilla + mods:** the same with Sodium mc26.3-0.9.2, Lithium mc26.3-0.26.2, FerriteCore 9.0.0 and + ImmediatelyFast 1.17.1 (`tools/benchmark-deps/mods.lock.json`). +- **Commands:** `python tools/perf_bench.py --game --label -win-9800x3d-5080 --distances + --sizes 1280x720 --repeats 3` (plus `--build` and `--resources` for Horizon), with the games taking turns at + each distance. +- **Memory** is the working set on Windows (what Task Manager shows), sampled from outside the process. Horizon's + GPU figure is its own Vulkan allocator total. `nvidia-smi` gives no per-process figure under WDDM, so vanilla has + none. + +## Load + +Windows has no load average, so the reports have no `load_avg_1m`. Other work was running on the machine (Rust builds), +so a script started each game only after 15 s with no `rustc`, `cargo` or `link` process running and CPU load under +30 %. It also logged the CPU load and the number of those processes every 5 seconds: + +| Game | RD | Mean / max CPU load (machine, the game included) | Compiler processes, mean / max | +|---|---|---|---| +| Horizon | 8 | 28 % / 72 % | 1.1 / 4 | +| Vanilla | 8 | 47 % / 100 % | 1.7 / 5 | +| Vanilla + mods | 8 | 53 % / 100 % | 1.3 / 3 | +| Horizon | 16 | 29 % / 80 % | 0 / 0 | +| Vanilla | 16 | 41 % / 91 % | 0 / 0 | +| Vanilla + mods | 16 | 51 % / 90 % | 0 / 0 | +| Horizon | 32 | 48 % / 100 % | 1.6 / 5 | +| Vanilla | 32 | 48 % / 91 % | 0.1 / 2 | +| Vanilla + mods | 32 | 53 % / 100 % | 1.2 / 7 | + +RD 16 ran on an otherwise idle machine. RD 8 and RD 32 had a few short builds running alongside. An earlier pass at +RD 8 and 16 with builds running throughout (up to 24 compiler processes) gave up to 30 % lower FPS and confidence +intervals several times wider; it was discarded and those distances were run again. Take RD 32, and Horizon's +RD 32 lows in particular, as indicative. + +## Results + +Mean of 3 games ± 95% confidence interval. FPS over the 12-second flight at 16 blocks/s (average / 1% low / +0.1% low): + +| RD | scene | Horizon v0.2.97 | Vanilla 26.3 | Vanilla + mods | +| --- | --- | --- | --- | --- | +| 8 | forest | 3155 ±478 / 874 ±396 / 529 ±232 | 2467 ±152 / 560 ±86 / 235 ±50 | 2281 ±47 / 632 ±33 / 241 ±23 | +| 8 | mountain | 3153 ±103 / 961 ±133 / 536 ±143 | 2372 ±45 / 543 ±48 / 229 ±29 | 2370 ±191 / 644 ±107 / 231 ±25 | +| 8 | ocean | 3016 ±199 / 880 ±138 / 548 ±97 | 2284 ±511 / 551 ±206 / 245 ±73 | 2211 ±319 / 618 ±76 / 224 ±25 | +| 8 | village | 2707 ±245 / 840 ±273 / 494 ±154 | 2039 ±153 / 450 ±74 / 194 ±8 | 1918 ±68 / 485 ±31 / 177 ±23 | +| 16 | forest | 2424 ±138 / 709 ±165 / 401 ±100 | 1912 ±324 / 402 ±89 / 149 ±25 | 1746 ±32 / 461 ±27 / 179 ±9 | +| 16 | mountain | 1961 ±99 / 537 ±96 / 297 ±75 | 1653 ±153 / 332 ±27 / 113 ±8 | 1500 ±55 / 408 ±40 / 140 ±10 | +| 16 | ocean | 2201 ±183 / 554 ±251 / 325 ±326 | 1861 ±289 / 446 ±142 / 165 ±29 | 1815 ±119 / 514 ±142 / 192 ±58 | +| 16 | village | 1712 ±192 / 593 ±80 / 358 ±69 | 1218 ±65 / 318 ±16 / 127 ±5 | 1282 ±162 / 343 ±25 / 132 ±12 | +| 32 | forest | 1273 ±51 / 330 ±144 / 153 ±119 | 1171 ±98 / 227 ±28 / 104 ±17 | 896 ±32 / 240 ±158 / 85 ±115 | +| 32 | mountain | 929 ±143 / 175 ±109 / 75 ±57 | 795 ±33 / 51 ±11 / 7 ±2 | 637 ±3 / 158 ±11 / 83 ±37 | +| 32 | ocean | 1068 ±82 / 113 ±23 / 44 ±17 | 1158 ±189 / 228 ±18 / 96 ±15 | 981 ±21 / 296 ±26 / 110 ±8 | +| 32 | village | 1013 ±54 / 299 ±97 / 148 ±112 | 829 ±85 / 175 ±25 / 85 ±12 | 874 ±23 / 228 ±27 / 87 ±16 | + +Startup, loading and memory (means of 3 games): + +| RD | | Horizon v0.2.97 | Vanilla 26.3 | Vanilla + mods | +| --- | --- | --- | --- | --- | +| 8 | start to title / in-world | 3.3 s / 6.4 s | 7.8 s / 14.4 s | 10.9 s / 17.7 s | +| 8 | mean scene load | 1.2 s | 4.0 s | 3.9 s | +| 8 | working set, steady / peak | 1080 / 1174 MB | 1850 / 1976 MB | 1944 / 2050 MB | +| 16 | start to title / in-world | 3.2 s / 7.2 s | 7.7 s / 19.9 s | 10.8 s / 23.5 s | +| 16 | mean scene load | 2.4 s | 9.2 s | 9.0 s | +| 16 | working set, steady / peak | 1236 / 1459 MB | 2300 / 2540 MB | 2327 / 2496 MB | +| 32 | start to title / in-world | 3.7 s / 12.1 s | 7.5 s / 35.5 s | 10.6 s / 39.6 s | +| 32 | mean scene load | 5.8 s | 21.4 s | 21.0 s | +| 32 | working set, steady / peak | 1734 / 2052 MB | 2779 / 2871 MB | 2888 / 2972 MB | + +## What it shows + +- At RD 8 and 16, Horizon's average FPS is 18–41 % above vanilla's in every scene. Its 1% lows are 1.2–1.9 times + vanilla's and its 0.1% lows 2.0–2.8 times. On this CPU and GPU the performance mods leave vanilla's averages + level or slightly lower, and raise its 1% lows by 8–23 %. +- At RD 32, Horizon is ahead in the forest, mountain and village averages. Over the ocean its average is level with + vanilla's, and its lows are about half of vanilla's and of the modded client's (113 vs 228 and 296 FPS 1% low). + That scene is worth a closer look, though builds were running during Horizon's RD 32 games. +- Horizon reaches the title screen 2–2.4 times faster than vanilla (about 3 times faster than the modded client) + and loads a scene's chunks 3–4 times faster. Its steady working set is 38–46 % smaller. +- Each game uses its own graphics API: Horizon Vulkan, vanilla OpenGL. That difference is part of what's compared. diff --git a/docs/benchmark.md b/docs/benchmark.md index 71776b1d08..1e06feac82 100644 --- a/docs/benchmark.md +++ b/docs/benchmark.md @@ -62,3 +62,5 @@ On Windows, run `python tools\perf_bench.py ...` the same way. Horizon's control ## Results Saved runs go to `benchmarks/perf/`; `--table` prints them as Markdown. + +- [Horizon v0.2.97 vs vanilla 26.3 on Windows 11, Ryzen 7 9800X3D + RTX 5080](../benchmarks/perf/windows-9800x3d-5080-2026-10-29.md) (2026-10-29)