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.

Dreadnought Comes to PlayStation 4

Today is a special day, it's just now that I can finally talk publicly about what I have been working on for the past year. Dreadnought is coming to PlayStation 4! Finally announced in PlayStation Experience 2016 event. When I joined the Dreadnought team one year ago my goals were clear, to get Dreadnought up and running... Continue Reading →

That Debugging Session

This post is not about performance optimizations, but I find it... interesting to say the least, and perhaps you'll agree! My colleague and I were investigating a bug which started manifesting lately in Dreadnought, where the game would crash as it goes out of GPU memory on start-up. The problem is, this only happened on one... Continue Reading →

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 ↑