The case of a million collision bodies

Recently I was looking into the performance of a game's dedicated server, one problematic area was PhysX performance. To get an idea of how it was like, the average PhysX frame time for a 32-players game was around 80ms with spikes of over 400ms. A quick round of removing unneeded meshes helped, but we were still far from calling it a day.

Micro optimizations – Episode 2

How NOT to loop Simple Problem... Another optimization I tackled lately was a dynamic system to enable / disable other players' weapon animation updates, based on distance to local player. To give you a bit of a context, there could be between 100 - 400 active weapons at the same time. I first noticed a... Continue Reading →

Micro optimizations – Episode 1

Since I joined the team working on Dreadnought, I have been working almost exclusively on performance optimizations. For one target client platform, our game is CPU-bound, specifically the game thread. To give you some background, we use Unreal Engine 4 which has 1 game thread, 1 render thread, plus some helper task graph threads (based on... Continue Reading →

Create a website or blog at

Up ↑