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 [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|| #1886 ||Big||Not started|| ||Long/Tile Pathfinder Rewrite||#1756||Big||Stalled|| ||Short/Vertex Pathfinder Rewrite||#1942||Big||Not started|| ||Assorted "megapatch" patches|| [http://git.wildfiregames.com/gitweb/?p=0ad.git;a=shortlog;h=refs/heads/projects/philip/megapatch-split git branch] ||Medium||Work in progress|| ||Incremental update of pathfinder's passability grid||#930||Medium||Stalled, to do with new pathfinder|| ||Upgrade [https://developer.mozilla.org/en-US/docs/SpiderMonkey SpiderMonkey] from [https://developer.mozilla.org/en-US/docs/SpiderMonkey/1.8.5 1.8.5] to [https://developer.mozilla.org/en-US/docs/SpiderMonkey/24 24]+||#1886 [http://www.wildfiregames.com/forum/index.php?showtopic=17289 forum thread]||Small or None||Work in progress|| ||GUI code improvement||#885||Medium||Stalled|| ||CCmpRangeManager optimization||#1707||Medium||Work in progress|| ||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 [http://www.wildfiregames.com/forum/index.php?showtopic=17310 forum thread]||Small||Work in progress|| ||Other Kuranes patches||#2022 #2026||?||Work in progress|| ||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||[http://www.wildfiregames.com/forum/index.php?showtopic=17384 forum thread 1] [http://www.wildfiregames.com/forum/index.php?showtopic=16991 forum thread 2]||?||Work in progress|| ||Rewrite the AI base system in C++||[http://www.wildfiregames.com/forum/index.php?showtopic=16991 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 == {{{#!table style="background: LightGreen" ||= Feature =||= Relevant link(s) =||= Performance impact =||= Appeared in =|| ||Renderer optimizations||r13902 r13903 r13904 r13906 r13911||Medium||alpha15|| ||Optimize fixed multiplies on Windows||r13873||Medium||alpha15|| ||Optimize Move() in CcmpUnitMotion||#2094||Small||alpha15|| ||Text rendering optimizations||r14017 r14018 r14019 r14020||Small||alpha15|| ||Avoid slightly-expensive QueryInterface?() calls||r13825||Small||alpha15|| ||Improve game setup GUI performance||r13828||Small||alpha15|| ||GetPercentMapExplored optimization||#2012||Medium||alpha14|| ||Disable distance-sorting for most transparent objects||r13753||Medium||alpha14|| ||VBO support for minimap entity rendering||r13454||Small||alpha14|| ||Water improvements||r13374 r13555 r13720||Small||alpha14|| ||JS GUI code optimization||#1878||Small||alpha14|| ||AI API v3 and Aegis AI||[http://www.wildfiregames.com/forum/index.php?showtopic=17144 forum thread]||Medium||alpha13|| ||GetInterpolatedTransform math optimization||#1854||Small||alpha13|| }}} == Other related resources == * [http://www.wildfiregames.com/forum/index.php?showtopic=17274 Forum thread: (DISCUSS) Performance Improvements] * [[CodeAndMemoryPerformance]] * [[CodeQuality]] * [[Coding_Conventions]] * [[EngineProfiling]]