128 views
16 places in the valley and 8 camera headings in each, measured the way the player sees them.
Bahia/Brazil, 1887
Performance challenge · Oct 5, 2026
With the woods full and the houses painted, the game fell to 5–30 FPS and took almost 97 seconds to open. In one day we measured, found the causes and closed Build 9B, the Tripothon edition.
Measured full screen, 1920×1080
The 60 FPS in our history came from Sept 26, in a 1280×720 window with a third of today's woods. The valley grew, the screen moved to 1080p, and the Oct 5 additions pushed the game into the low teens.
Measure before touching
16 places in the valley and 8 camera headings in each, measured the way the player sees them.
One thing at a time, always interleaved with the baseline to cancel drift. The gain comes out in milliseconds.
Physics, scripts and GPU measured separately: the bottleneck shows up before any change.
A second round, changing nothing, reproduced the first: the square gave 4.8 against 5.3 FPS.
In order of weight, all measured
The woods, the undergrowth and the landscaping add up to 46.7 million triangles, and the distance cull reached the whole valley.
The Tripo models ship with back faces turned on. Turning them off changes nothing in the photo.
Four cascades out to 180 u redrew 3.7 million triangles every frame.
Scripts of up to 22 ms per tick made Godot run up to 8 ticks per frame. In the square, the game sank to 5 FPS.
It redrew the whole valley every frame, just for a 170-pixel map.
Edge smoothing at full screen cost almost as much as the sun's shadow.
Inside the church, facing the wall, the game still draws 8.9 million triangles of the valley outside.
The GPU ran at 17 W out of 60 W, held back by the system. Not the game's fault, but it multiplies everything else.
From the click to the first step
A cache bug froze the screen for 19 seconds on every assembly of the valley. Fixed, with an identical result.
One assembly behind the menu, for the flyover, and another when you click play. Work for after the submission.
The terrain mesh and collision are generated in GDScript every time the game opens.
Villagers, creatures and interiors are still born after the bar is full, with a freeze of almost 8 seconds.
In the Tripothon Build 9B
The coastline grid is now stored per margin: assembling the valley drops from 48 to 32 seconds.
At most 3 ticks per frame. Below 20 FPS the game runs in slow motion instead of sinking.
Sun shadow out to 70 u in 2 cascades, terrain and ribbons casting no shadow, and FXAA instead of MSAA.
Half the trees and 12 isolated clearings in the forest, each with a landmark tree of its own species (or a house), stones and a dirt trail to the road.
The map no longer redraws the valley every frame: it is a fixed image, with the player on top.
The menu no longer builds the 3D valley: a looping painted flyover, made with LTX, sits behind the altarpiece. The 36 s cinematic opens this page.
Drag the line
Before
After
Before
After
Before
After
The build's numbers
| Measure | Before (measured) | After (measured) |
|---|---|---|
| FPS in the worst view | 5.3 | 18.0 |
| FPS in the median view | 12.9 | 28.9 |
| FPS in the best view | 30.1 | 42.8 |
| Triangles per frame (median) | 5.72 million | 1.77 million |
| Physics ticks per frame (median) | 4.6 | 2.1 |
| Valley assembly | 48 s | 29 s |
| Load, from language to walking | ≈ 97 s | ≈ 35 s |
Machine: Dell G3, GeForce GTX 1660 Ti Max-Q, 1920×1080, 128 views.
Build 9B · group B, locked
Use the arrows on your keyboard