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 performance related ideas you can use the [http://www.wildfiregames.com/forum/index.php?showtopic=16991 Performance Optimizations forum thread]. == Ongoing improvements == {{{#!table style="background: LightGoldenrodYellow" ||= Feature =||= Relevant link(s) =||= Performance impact =||= Status =|| ||Rewrite the renderer to require OpenGL 2.1||[http://www.wildfiregames.com/forum/index.php?showtopic=16734 forum thread]||Big||Stalled|| ||Threading to use more than one CPU core||?||Big||?|| ||New Pathfinder||#1756||Big||Stalled|| ||Incremental update of pathfinder's passability grid||#930||Medium||Stalled, to do with new pathfinder|| ||Upgrade SpiderMonkey from 1.8.5 to 17|| ||Medium||Ongoing work|| ||GUI code improvement||#885||Medium||Stalled|| ||CCmpRangeManager optimization||#1707||Medium||Ongoing work|| ||ComponentManager optimization||#1860||Medium||Ongoing work|| ||ModelRenderer.cpp optimization||#1859||Medium||Ongoing work|| ||UnitAI/UnitMotion repathing improvement||#1200||Medium||?|| ||JS GUI code optimization||#1878||Small||Ongoing work|| ||Implement an Octree||[http://www.wildfiregames.com/forum/index.php?showtopic=16991 forum thread]||?||?|| ||Rewrite the AI base system in C++||[http://www.wildfiregames.com/forum/index.php?showtopic=16991 forum thread]||?||?|| ||Benchmark mode||#837||n/a||?|| ||Graphic settings system||#475||n/a||?|| ||Implement profiling for any thread||#807||n/a||?|| }}} == Completed improvements == {{{#!table style="background: LightGreen" ||= Feature =||= Relevant link(s) =||= Performance impact =||= Status =|| ||AI API v3 and Aegis AI||[http://www.wildfiregames.com/forum/index.php?showtopic=17144 forum thread]||Medium||Landed in alpha13|| ||Sim interpolation (game and editor)||#1846 #1858 #1865||Medium||Landed in alpha13|| ||Math optimizations of GetInterpolatedTransform||#1854||Small||Landed in alpha13|| }}}