Project Configuration
Category | Build |
---|
Overiew
Recommend project configurations to improve iteration time and deliver optimized final builds.
Configurations
There should be at least 3 build targets to satisfy distinct requirements: Debug, Development, and Release.
Debug
A build with full telemetry enabled and most optimizations disabled.
This can help with hard-to-diagnose issues.
A DLL-based build can improve the linker performance at the cost of optimizations across a DLL boundary.
✔️
- Easier debugging due to the disabled optimizations.
- Faster iteration time, from removing the optimization overhead from the build.
❌
- With most optimizations disabled, the project may run too slowly for testing and profiling.
Development
A build with full telemetry enabled and most release optimizations enabled.
✔️
- A good balance between options that can be used for testing and for profiling.
❌
- Increased build times due to the optimizer.
Release
The final build for retail release.
All internal telemetry is disabled, and all optimization settings are enabled.
✔️
- Highest-performing code.
❌
- Longest build times.
- Hardest to debug.