Coherent GT Release 1.8.6
Coherent GT 1.8.6 is here with a ton of new features and improvements! This blog post will highlight the changes we made in both GT 1.8.5 and 1.8.6. The new versions bring performance improvements and new APIs that allow developers to gain more control over many aspects of the library.
NB: The library includes a breaking API change. We no longer include in the default style for scroll-bar. By default scroll-bars will be invisible. This improves styling performance while most developers either remove scrollbars or style them manually anyway. The previous behavior can be still achieved by setting the ViewInfo::EnableAdditionalDefaultStyles flag to true.
Update: Check the latest release – Coherent GT 2.0
Improved overall styling performance
We have done significant improvements to the styling algorithm and slimmed down the default styles. Most notably scroll-bar styles are now disabled by default (can be re-enabled with the ViewInfo::EnableAdditionalDefaultStyles flag). Most game UI either disables scroll-bars or styles them manually. We advise from now on developers to style scroll-bars manually and ONLY on the elements that will actually need them. Avoid setting a scroll-bar style on all elements as this will require additional computations. The new improvements are most significant in complex pages with many layers where we see up to 30% increase in styling performance.
Pre-loaded images support
A new API has been introduced to allow easy pre-loading of images by the game engine and sharing with the game. Developers can now load in advance through their engine all needed images and pass simple pointers to Coherent GT. The feature can dramatically reduce load times and allows for a tighter integration of Coherent GT in the architecture of AAA engines.
Unreal Engine 4 integrated images support
UE4 developers that use our plugin can now directly reference Unreal textures in their UI definitions. You can now write code like this:
<img src=”preloaded://Texture2D’/Game/uiresources/foo.foo'”></img>
Improved by-ref array binding
Binding by reference of arrays is now much faster. Individual elements of the array are now bound in JavaScript from C++ only when they are accessed. Developers that access few elements of large arrays will see significant performance improvements. The enhancement is particularly valuable if the UI does some form of pagination – like displaying on-screen 10 items of the hundreds that a player owns in an RPG.
Pre-loading fonts and font folders
Developers can now pre-load all their fonts before the UI actually uses them. Potential performance stutters are avoided as all font information will already be available when a particular glyph has to be displayed. If the font is not pre-loaded it will be just-in-time requested when needed by the “@font-face” CSS rule.
GPU object debug annotation
During debugging GT will annotate all GPU image resources with user-friendly names. The names are viewable in tools like the Visual Studio Graphics Debugger, NVIDIA NSight, etc. and allow developers to quickly discover Coherent GT resources and their behavior.
Coherent Inspector on Xbox One and PlayStation 4
The Coherent Inspector can now connect to games running live on Xbox One and PlayStation 4. Developers are able to debug and profile their game UI directly on the console while the game is running.
New Coherent Editor
A new version of the Coherent Editor is distributed with the new version with a ton of new features. Please refer to the new blog post for all the details.
Stay tuned! Coherent GT 1.9 is coming soon with a lot of new AAA features and amazing new developments in the data binding system!
Follow Stoyan on Twitter: @stoyannk