Coherent GT 0.9.6 for Unreal Engine 4
Today we launch one of the biggest updates so far for our Unreal Engine 4 Coherent GT plugin. The release brings large performance improvements, better UE4 integration, and a completely reworked and extended documentation.
Update: Check the latest release – Coherent GT 2.0
New RHI renderer
Our new renderer for UE4 is now ready and is used by default in GT.
Until now in UE4 we have used our generic DirectX 11 rendering code. It worked fine but we knew that tightly integrating the rendering code with the UE4 pipeline will give us benefits. The more generic a solution is, the fewer improvements we could make for a particular case. We had to write the code just for Unreal taking in account the specifics there.
The new renderer generates RHI command lists and is tightly integrated into the UE4 rendering pipeline. We have cut all overhead from state changes when the program flow moves from UE4 code to GT. We have also greatly improved the state caching and batching in UE4.
The results are amazing, we see 25-40% improved rendering performance. In addition to that, all rendering commands generated by GT are now visible in the UE4 profiler.
Coherent GT Menu entry
The new plugin brings tighter integration between the UE4 Editor and Coherent GT. We have added a new Menu in the Editor that helps developers quickly set a HUD, create an in-world UI, launch the Inspector, documentation and much more.
In following versions, we will continue to add integration features that will optimize the user experience of Coherent GT in UE4 making it even simpler and faster.
Improved documentation
We have extended and added new guides to the documentation. It now covers important topics as Input, Blueprint integration, workflow and performance tips.
Improved JavaScript binding performance
In Coherent GT the application can communicate with the UI script (JavaScript) via events and pass data. Each call that passes the boundary between the C++ (or Blueprint) code to JavaScript has a fixed overhead involved. Methods that have to be called in JavaScript were kept and looked-up in JS code which is suboptimal. We moved the call handler cache in C++ and see 4-5x reduction in JS call overhead.
New click-through implementation
Click-through is a unique Coherent GT feature that allows developers to properly direct input in their application even in areas of the UI with different transparency.
We have reworked the implementation to be async. This removes any overhead that was previously associated with it. All work is done on the GPU and GPU-CPU stalls are eliminated.
Stay tuned, we have many more surprises and new announcements to make.
Follow Stoyan on Twitter: @stoyannk