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
|
Assorted "megapatch" patches | git branch | Medium | Work in progress
|
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 | Small or None | Work in progress
|
GUI code improvement | #885 | Medium | Stalled
|
ComponentManager optimization | #1860 | Medium | Work in progress
|
Implement caching of terrain normals | #2039 | Medium | Work in progress
|
UnitAI/UnitMotion repathing improvement | #1200 | Medium | Not started
|
Sim interpolation optimization (game and editor) | r13500 | Medium | Landed in alpha13, reverted in alpha14
|
Non behavior changing optimizations | #1923 forum thread | Small | Work in progress
|
Other Kuranes patches | #2022 #2026 | ? | Work in progress
|
More optimization with many selected units | #2179 | Small | Work in progress
|
Optimisation of Fixed Point Trigonometic Approximations | #2109 | Small | Work in progress
|
Save GUI Sprites and Images in vectors / maps as pointers | #1984 | Small | Work in progress
|
Implement a Quadtree/Octree | forum thread 1 forum thread 2 | ? | Work in progress
|
Rewrite the AI base system in C++ | forum thread | ? | Not started
|
Benchmark mode | #837 | n/a | Not started
|
Heap usage profiling | #187 | n/a | Not started
|
Graphic settings system | #475 | n/a | Not started
|
Implement profiling for any thread | #807 | n/a | Not started
|
Completed improvements