Sony Online Entertainment’s Operation: Make Faster Game (OMFG) for MMO Planetside 2 has finally bore fruit as ‘Performance Update 01’ is now live for all to enjoy. Its changelog is a litany of optimisations.
The performance tweaks touch on everything from FX and animation to memory and UI. There are also some non-performance related items stuff inside too.
Below is the full performance related list of changes with ‘Performance Update 01’, with the complete changelog available on the official Planetside 2 forums.
Performance Update 01
General:
• Refactored game rendering to better utilize multiple CPU cores. The same has been done for UI rendering.
• Optimized the CPU cost of some purely aesthetic physics objects
• Added adaptive complexity levels for physics simulations based on current client performance
• Disabled redundant physics processing between remotely-simulated vehicles
• Improved simulations between complex compound shapes, primarily vehicles
• Sound emitter optimization
• Numerous optimizations have been done to remote character processing to reduce the cost of per-player processing.
• We found that players getting in and out of vehicles was causing some performance issues. This has been addressed and is working as expected, now.
• Audio asset clean-up
• Added a frame rate smoothing option. (This is on by default and trust us, you probably want this. It will make your frame rate smoother and reduce spikes. Your FPS counter will show as lower overall, but that’s not a bad thing.)
• Adjusted the default graphics settings. (If you push Reset to Default, it will set the graphics settings appropriate for your system.)
FX:
• Vehicle debris pieces updated
• All bullet impacts optimized
Animation:
• Implemented new scatterblend node to provide more fluid third person movement and a performance improvement
• Reorganized the networks to eliminate redundancies and reduce the overall network size
• Created level of detail version of the third person network. This allows code to switch to less expensive version of the network based on how far away the player is from the camera. This provided our largest performance improvement at approximately a 50% improvement for network processor time.
• Consolidated the number of active nodes and pass downs in the network. This simplified the network and insured that costly additive nodes were only active when they were necessary.
• Removed state machines that could be replaced with blend trees. Blend trees are more efficient than state machines.
Art:
• Optimization pass on First Person arms
• Improved usage of textures on various vehicles
• Optimization pass on Ace Tool and Ammo Pack
Memory:
• Fixed several client crashes (We’re not done with these and should have more coming soon.)
• Fixed a few client memory leaks (Not done here either. Still investigating some memory optimizations to help with crashes related to memory.)
UI:
• Overhead indicator system overhauled for performance
• The HUD, Centralized HUD, as well as the health and shield bars have been redesigned with a new look to increase performance
• Fixed Scaleform garbage collection spikes
• Optimizing UI advance processing
• Faster communication between AS3 and C++/LUA
• Faster subsequent map load times
• Faster retrieval of localized strings
• Platoon UI optimizations and polish
• Player kill notification revamp
• Kill spam notification revamp
• Fixed various existing and potential memory leaks
UI HUD Updates:
• Minimap optimizations: more logic in C++ e.g. alpha updates such as fading and blinking instead of AS3 tweening, throttling via time slicing, recon indicator updates, recon motion dart detects enemies properly on the minimap, fixed AMS exclusion radius not appearing properly, increased default zoom level
• Compass optimizations: controlled directly from C++
• Weapon info optimizations ( bullet count, reload warning, blinking etc )
• Vitals optimizations and revamp ( health, shield, etc )
• Facility info / squad list will show when minimap is expanded if screen height >= 1080
• Fixed issue with sunderers not showing ‘gives ammo’ or ‘gives repair’ icon within 100m
• Now show the HUD facility indicator when you are inside a region but outside of the facility radius
• Fixed issues with HUD indicators blinking in when they first initialize
Optimized Indar:
• Reduced ecosystem masks
• Reduced polycount on most environment objects
• Reduced occlusion calculations from most environment objects
• Reduced texture usage on some environment objects
• Removed redundant objects, replaced with visually similar ones
• Adjusted LOD distances