Smelogs Playground

Performance Boost

Optimizing performance has been a major priority for Smelogs Playground, and recent updates have introduced several key improvements to enhance efficiency and gameplay smoothness.

:rocket: Performance Enhancements

  • Reducing “Get All Actors/Widgets of Class”: We focused on removing as many “get all actors of class” and “get all widgets of class” calls as possible, significantly cutting down on unnecessary overhead.
  • Efficient Enemy Detection: We switched to a grid-based enemy detection system in C++, improving how the game handles AI detection logic and making it more scalable. TPointHashGrid3d In GeometryCore | Epic Developer Community (epicgames.com)
  • Widget Optimization: Instead of frequently creating and removing widgets, we now update existing widgets in place and only create new sub-widgets when absolutely necessary. This reduces memory overhead and improves performance.
  • Overhead Widget Separation: Previously, the Overhead widget handled several elements (health bar, upgrade progress, production progress, and objective progress) all in one. We’ve now separated these into individual widgets, so only the relevant elements are updated during gameplay.
  • Niagara System GPU Optimization: Wherever possible, we’ve ensured that Niagara particle systems now run on the GPU, shifting computations away from the CPU and improving overall performance.

:hammer: Tools and Techniques

Unreal Insight was instrumental in pinpointing performance bottlenecks and guiding these optimizations.

Looking Forward

While these improvements have provided a noticeable performance boost, there are still many areas where we can continue to optimize.

Want to check out Smelogs Playground? The game is free to play on the Epic Games Store and Steam.
If you have any questions or feedback, feel free to share them here! :slightly_smiling_face: