1. BlastZone 2
  2. News
  3. Greatly improved particle CPU core scaling and bug fixes (v1.32.5.0) (+Hotfix)

Greatly improved particle CPU core scaling and bug fixes (v1.32.5.0) (+Hotfix)

A new update has been released for BlastZone 2. (v1.32.5.0) This update focuses on greatly improving multithreading core scaling for the particle system.

This update greatly improves particle system workload distribution to CPU cores. This improves overall particle performance for all CPUs with more than 2 cores/threads, and makes the amount of performance gained much closer to linear with the number of CPU cores/threads available. For example, a 6 core/12 thread test system has a 57% particle performance boost from this update, and now has a 5x performance boost when compared to single threaded performance. In previous versions, core scaling was closer to 3.2x for the same system. Also, a 4 core/8 thread test system now scales at 3x performance when using multithreading, compared to about 2x in previous versions.

As a measure of absolute performance, this latest release can run over 110k particles at 60fps on a 6 core/12 thread CPU, while previous versions were limited to 73k to maintain the same framerate on the same machine. Maximum particle counts seen in regular gameplay scenarios are around 20-25k at VeryHigh detail, so it will run at full performance on lower end, lower core count CPUs.

This update also includes a game-side mitigation for drifting issues that affects some XInput gamepads. This was caused by faulty gamepad hardware, and this update should fix it for most users, or at least reduce it.

This update also migrates to the latest Steam API release v1.51.(up from v1.46) This includes all the latest fixes and improvements for Steam functionality.

**A hotfix has been released for this update that fixes a critical Demo version startup softlock. This also includes a particle system precaching bug fix, saving about 30mb of memory.

For more details, here are the full release notes for v1.32.5.0:
  • Particle system now scales much better with more CPU cores/threads
    -Up to a 57% performance gain for particle system updates
    -This was measured using a 6 core 12 thread 4.0ghz CPU test system
    -Systems with more cores will scale better than this
    -Stress tests have shown over 110k particles running at 60fps with these optimizations
    -This was measured using a 6 core 12 thread 4.0ghz CPU test system
    -In previous versions, this same system would be limited to 73k particles to maintain 60 fps
    -The particle subsystem that calculates and distributes CPU thread workloads has been greatly improved
    -Speeds up the time it takes to calculate the workload for each CPU thread
    -Has the ability to launch all CPU thread workloads simultaneously
    -Greatly improves CPU core parallelism
    -Previous versions would gradually load each CPU core as the workloads were prepared, leaving some CPU cores idle some of the time
    -Performance now scales close to linearly with the number of CPU cores/threads available
    -This update does not affect machines with 1 or 2 CPU cores/threads
    -This requires atleast a 4 core, or a 2 core/4 thread CPU to take advantage of these improvements
  • Increased XInput gamepad analog stick deadzones by 25% to fix drifting issues for some gamepads
  • Migrated to Steam API v1.51 (from v1.46)
  • HotFix - Fixed a particle precaching bug
    -Reduces memory usage by about 30mb
  • HotFix - Fixed a startup soft crash for the demo version
  • HotFix - Fixed a text flicker when opening the final demo quit screen
  • HotFix #2 - Smoothed out particle emitter behavior for low framerates
    -Takes inter-frame time intervals into account when calculating new particles

As usual, to make sure you have the latest update, launch the game and check the lower left corner for “v1.32.5.0” or higher. Enjoy!

P.S. - You may have noticed most updates over the last year or more have focused on technical improvements and optimizations, with gameplay-related elements only getting occasional adjustments. This is because I’ve been working on a new game project that shares the same engine as BlastZone 2. All engine improvements I’ve been making for the new game have been released for BlastZone 2 so everyone can benefit from them. More information is coming soon!