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.
Welcome to the second part of my series on integrating Insomniac Games MemTrace tool to Unreal Engine 4, if you have not read the first part, I recommend you do so here. In today's post I will be discussing the code changes I did, including the base integration as well extra improvements I added on … Continue reading Integrating Insomniac Games MemTrace Tool into Unreal Engine 4 – Part 2
THIS is what I love the most about the game industry, it's full of talented people who are always willing to share their experiences and tools to help benefit others in the same industry! To summarize, Insomniac Games are sharing their in-house memory tracing tool with the rest of the world, below are just some of … Continue reading Integrating Insomniac Games MemTrace Tool into Unreal Engine 4 – Part 1
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 Dreadnought Comes to PlayStation 4
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 That Debugging Session
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 2
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 Micro optimizations – Episode 1