Recommend project configurations to improve iteration time and deliver optimized final builds.
There should be at least 3 build targets to satisfy distinct requirements: Debug, Development, and Release.
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.
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.
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.