← All entries
No. 11 / Under the hood3 min read

The window that did less work.

The same 2,008 panes, with fewer unnecessary lookups. A small change earns its place in the next build.

A corner view across repeated red-brick terraces with inserted glass, timber shopfronts and the original broad-ridged slate roofs.
The fixed four-terrace benchmark, captured natively with the accepted glazing candidate on October 1. Its older roof geometry is deliberately retained for comparison; the finished Lockside Terrace is a separate study.

A street full of windows is a useful place to find work that one window hides. The earlier dense-street profile pointed toward the check that decides whether inserted glass and timber need rebuilding.

Each window examines its immediate neighbours, including diagonals. That matters for connected textures. But it was asking every neighbouring position for a block entity even after reading a block state that could not contain one.

The change is small: keep that state and ask for the entity only when it can exist. Every neighbour still contributes to the result. The glass, its drawing distance, the timber and the update rules remain the same.

Keep the scene still

I kept the original four-terrace benchmark so the scene stayed fixed. Its older roofs are visible in the image above; the finished Lockside Terrace remains a separate building study.

Three separate game runs rendered the old build, the candidate, then the old build again. Each used the same scene, three cameras and settings. After every run, the saved lab, options and installed files were restored exactly.

Here are the median frame intervals in milliseconds. Lower is better; the old column uses the faster of the two old runs.

View Old best Candidate
Street 12.11 10.99
Corner 14.61 13.18
Elevated 13.98 12.72

That is a 9.0–9.8% reduction in this scene. The old runs stayed within 2.7% of one another, and the candidate also improved the slower end of the measured frame distribution. It passed the comparison rules written before sampling.

These were short, hidden-client samples on this PC: an i9-14900KF, RTX 4070 Ti, a 4 GB Java heap and a 1280 × 800 viewport. Each camera had ten seconds to settle and twenty seconds of measurement. This is useful local evidence, not a promise about another computer, full-pack performance or long-session stutters.

A faster stale window would be a bad trade

The more important check was whether anything stopped updating. Actual loaded client windows received server changes to neighbouring blocks, inserted panes, paint, timber layout, depth and facing. The checks included chunk seams and the bottom and top of the world.

The cached result matched a fresh rebuild after each acknowledged change, including the actual quad data. Resource reload passed, fourteen complete buildings reopened, and the full-pack views showed the expected glass and joinery. All seventeen Ponder lessons still passed.

I like this result because it leaves the builder's choices intact. The same glass and timber stay visible and respond immediately; the renderer simply does fewer unnecessary lookups.

The change is accepted for the development candidate; the installed release is still 0.12.0. Next I want to give the pub a projecting sign: something you can read while walking along the pavement, before its main fascia comes into view.

Keep reading.

All entries
From the test world