Development Build
On this page
With version 1.54 Gameface starts shipping Development builds. The Development builds come with every package of Gameface and can be found in the libs
directory of the packages.
Overview
The Development libraries allow you to keep all features that are useful during the UI development. With the Release builds you can then discard the features that only make sense during development thus reducing memory footprint and improving performance
The intended usage of the Development builds is to give developers access to the full set of Gameface features during development while also not sacrificing performance (like a Debug build would). The Development configurations is meant to be used only during UI development. Some of the features and characteristics of the Development builds include:
- Support for profiling the internals of Gameface
- Compiled with full compiler optimizations
- Compiled with debug symbols
How to use
During game UI development, link the game application against the libraries in the libs/Development
directory of the Gameface package. Client code can link against the Development libraries just as it can against Debug and Release.
Release Builds
With the introduction of the Development builds, there are also a few changes to the Release ones. “Release” is meant to be the “Shipping” configuration of Gameface. As such, some of the Gameface’s features that are only useful during UI development are stripped down from the Release builds. Currently those are:
Trace
andDebug
level logs- Performance Warnings
- GPU memory tracking
- Generation of GPU debug markers.
- Paint rectangles visualization – the
cohtml::View::ShowPaintRectangles
method does nothing.
Those features are not available in Release builds. The point of this feature stripping is to remove development-only code from Release builds. This means that the Release configuration is more suitable for shipped games where development features do not make much sense.
In the future, more development focused features will be disabled in Release builds. The goal is to have minimal amount of unused code in shipped games.