Epic Games has released a new version of the Unreal Engine 4. According to the company, this update brings this famous engine to its 4.11 version, and features major performance and multithreading improvements.
As Epic Games claimed, here are some of the major optimizations that are featured in Unreal Engine 4.11:
Parallelization. Multicore scaling is crucial to achieving high frame rates on modern PCs and consoles, so we have improved our threading architecture in several ways. We’ve reduced the cost of creating tasks, added support for high priority tasks, and removed many synchronization points.
Rendering performance. The renderer now does a better job balancing the size of its worker tasks and the command buffers generated for the GPU in order to achieve maximum parallelism without adding overhead on the GPU. We’ve also worked to remove synchronization points in the renderer so that we can better utilize all available cores.
Cloth simulation is now dramatically faster and makes better use of multi-threading. We now call the APEX solver directly for each asset from a worker thread. This allows for much better scheduling and eliminates many sync points and overhead. Clothing will now be updated after animation (when blending is not needed), otherwise after the skeletal mesh component updates.
Faster garbage collection. We now support garbage collection “clusters”, which allows the engine to treat groups of objects as a single unit, drastically reducing the number of objects that need to be considered. Currently, only subobjects for Materials and Particle Systems are clustered. Additionally, the mark and destroy phases are more cache-coherent, resulting in a 9x reduction in time, and memory churn has been reduced during reachability analysis.
Multi-threaded animation. Animation Graph updates can now run on worker threads allowing the number of animated characters to scale with the number of cores. Check out the Upgrade Notes as we’ve deprecated many animation related APIs and there are limitations on which animation graphs can run in worker threads.
Instant animation variable access. We’ve added a ‘fast-path’ for variable access in the Animation Graph update. This allows us to simply copy parameters internally rather than executing Blueprint code. The compiler can currently optimize the following constructs: member variables, negated boolean member variables, and members of a nested structure.
Additive animation ‘baking’. We now have an option to turn on baked additive animations. This makes using additive animations roughly3x faster. The work involved in calculating the delta pose for an additive animation is done at cook time rather than run time. This saves not only the calculation work involved in creating the additive deltas but also the memory accesses and allocations involved with decompressing the base animation which is no longer needed at runtime. This feature increases cook times, so you’ll need to enable it by setting the cvar “a.UseBakedAdditiveAnimations” to 1. Future versions of the engine will rework animation cooking to avoid this cost and permanently enable this optimization.
Unreal Engine 4.11 also features new realistic hair shading, new realistic eye shading, improved skin shading, realistic cloth shading, capsule shadows (very soft indirect shadows cast by a capsule representation of the character), particle depth of field, dithered opacity mask, dithered LOD crossfades and improved heirarchical LOD.
Furthermore, Unreal Engine 4.11 comes with improved DirectX 12 support.
“We’ve integrated updates to DirectX 12 in Unreal Engine from Microsoft to allow better CPU utilization while generating rendering commands in parallel; also added improvements like support for multiple root signatures, enabled asynchronous pipeline state disk cache by default, reduced memory footprint & fixed leaks, resource transitions optimizations, faster memory allocations and limited GPU starvation by flushing work during idle GPU time.”
You can download Unreal Engine 4.11 from its official website.