← All finds

Find No. 036 · Nov 12, 2026 · 1 min read

730 huge shapes in every collision check

Oblivion Remastered performance fix found why collision checks cost frames: each one first went through a list of about 730 huge shapes from all over the map. Filing them in the search tree cut 1.2 to 1.4 ms of main thread work per frame.

LTSharpe/OblivionRemasteredPerformanceFix
Screenshot of OblivionRemasteredPerformanceFix

The cause was a list nobody searched properly

The Oblivion Remastered Performance Fix by LTSharpe changes how the engine does its work, not what it draws. One of its 1.2.3 changes is about collision checks and horses.

The README lists what the game was doing. Near horses, the main thread waited for an exclusive physics lock that animation parts with nothing to move took every frame. The horses also repeated the same ground check about 12 times a frame. And every collision check in the game first went through a list of about 730 huge shapes from all over the map.

The fix skips the empty update, answers a repeated check with its first answer, and files the huge shapes in the search tree like everything else. The README puts the result at about 1.2 to 1.4 ms less main thread work per frame at those places.

In the Skingrad forest scene the tick work goes from 9.7 ms to 8.5 ms, and at Vilverin in the Imperial City flight from 8.8 ms to 7.6 ms. The horse corral at Brindle Home goes from 10.6 ms to 9.2 ms.

No setting was lowered. The slow part was one list that every check had to walk, and nobody had put it in the tree.

The README also says the results are not identical to the stock game: collision checks look at nearby shapes in another order, though they find the same ones.