Currently 0 A.D. performance is lower than that of similar RTS games, especially when playing with many units on a map. This page collects some tasks and suggestions to improve performance of pyrogenesis, the engine used by 0 A.D.. To discuss other performance related ideas you can use the Performance Optimizations forum thread.
Ongoing improvements
Feature | Relevant link(s) | Performance impact | Status
|
---|
Rewrite the renderer to require OpenGL 2.1 | forum thread | Big | Stalled
|
Threading to use more than one CPU core | #1886 | Big | Not started
|
Long/Tile Pathfinder Rewrite | #1756 | Big | Stalled
|
Short/Vertex Pathfinder Rewrite | #1942 | Big | Not started
|
Incremental update of pathfinder's passability grid | #930 | Medium | Stalled, to do with new pathfinder
|
Upgrade SpiderMonkey from 1.8.5 to 24 | #1886 forum thread | Medium | Work in progress
|
GUI code improvement | #885 | Medium | Stalled
|
CCmpRangeManager optimization | #1707 | Medium | Work in progress
|
ComponentManager optimization | #1860 | Medium | Work in progress
|
ModelRenderer.cpp optimization | #1859 | Medium | Work in progress
|
UnitAI/UnitMotion repathing improvement | #1200 | Medium | Not started
|
Sim interpolation optimization (game and editor) | #1846 #1858 #1865 #1906 r13500 | Medium | Landed in alpha13, reverted in alpha14
|
Non behavior changing optimizations | #1923 forum thread | Small | Work in progress
|
Implement an Octree | forum thread | ? | Not started
|
Rewrite the AI base system in C++ | forum thread | ? | Not started
|
Benchmark mode | #837 | n/a | Not started
|
Graphic settings system | #475 | n/a | Not started
|
Implement profiling for any thread | #807 | n/a | Not started
|
Completed improvements
Feature | Relevant link(s) | Performance impact | Status
|
---|
VBO support for minimap entity rendering | r13454 | Small | Landed in alpha14
|
Water improvement | r13374 | Small | Landed in alpha14
|
JS GUI code optimization | #1878 | Small | Landed in alpha14
|
AI API v3 and Aegis AI | forum thread | Medium | Landed in alpha13
|
GetInterpolatedTransform math optimization | #1854 | Small | Landed in alpha13
|