On 5/22/09, Christian Ohm <chrx...@gmx.net> wrote: > Equally obvious should be that slow but working is better than fast but > crashing. Performance can later be achieved by profiling and optimizing the > bottlenecks. As I recently added to ticket #225, I did an oprofile run on > Warzone, and OpenAL topped the list at >40% CPU time. The next candidates > were > at ~4%. And there is still the PIE rendering code, doing a triangle strip per > polygon, with lots of state changes between. Achieving a comparable > performance > impact just by sprinkling new asserts will be a lot of work. >
On a 8p autogame, on map ziggurat, I get this from a ~30 min run. CS:EIP Symbol + Offset 64-bit Timer samples 0x5e2d90 fpathCompare 31.03 0x5e2cc0 fpathOpenGet 13.18 0x86a270 pie_DrawTerrainTriangle 3.74 0x8f6e20 _RTC_CheckStackVars 3.05 0x609840 drawTiles 2.65 0x867550 pie_Draw3DShape2 2.02 0x869560 compare_edge 1.88 0x6116b0 drawTerrainTile 1.84 0x772b30 rayTerrainCallback 1.67 0x5e2b90 fpathGetNode 1.63 0x611be0 setTexCoords 1.51 0x869710 Vector3f_Compare 1.47 0x865e50 pie_RotateProject 1.28 0x5e2360 fpathAStarRoute 1.27 0x773fc0 processVisibility 1.1 0x6fd700 rayCast 1.01 0x8687c0 pie_DrawShadow 0.96 0x8697a0 scale_y 0.93 0x6a3130 gridIterate 0.92 19 functions, 2366 instructions, Total: 657162 samples, 73.14% of samples in the module, 32.99% of total session samples CS:EIP Symbol + Offset 64-bit CPU clocks IPC DC miss rate DTLB L1M L2M rate Misalign rate Mispredict rate 0x5e2d90 fpathCompare 1607806 1.19 0.01 0 0 0 0x5e2cc0 fpathOpenGet 636839 0.84 0 0 0 0 0x86a270 pie_DrawTerrainTriangle 199540 0.77 0.01 0 0 0 0x8f6e20 _RTC_CheckStackVars 173991 1.07 0 0 0 0 0x609840 drawTiles 152240 0.88 0 0 0 0 0x869560 compare_edge 133331 0.62 0 0 0 0 0x867550 pie_Draw3DShape2 120538 0.5 0.01 0 0 0.01 0x869710 Vector3f_Compare 104526 0.46 0 0 0 0.01 0x6116b0 drawTerrainTile 101665 0.71 0 0 0 0 0x5e2b90 fpathGetNode 96152 0.46 0.02 0.01 0 0 0x772b30 rayTerrainCallback 91420 0.8 0 0 0 0 0x611be0 setTexCoords 81794 0.73 0 0 0 0.01 0x865e50 pie_RotateProject 73743 0.54 0 0 0 0 0x8687c0 pie_DrawShadow 63891 0.86 0 0 0 0 0x5e2360 fpathAStarRoute 63033 0.69 0.01 0 0 0.01 0x773fc0 processVisibility 60856 0.95 0 0 0 0.01 0x8697a0 scale_y 59602 0.45 0 0 0 0 0x6fd700 rayCast 55459 1.14 0 0 0 0.01 0x6a3130 gridIterate 50187 0.68 0 0 0 0.01 0x634ec0 fpathBlockingTile 48620 0.37 0.02 0.01 0 0.03 0x869420 addToEdgeList 47563 1.05 0 0 0 0.01 0x6246c0 checkDroid 47537 0.81 0 0 0 0.01 0x609670 mapTile 42377 1.59 0 0 0 0 0x8f6df0 _RTC_CheckEsp 40122 0.99 0 0 0 0.01 0x6fbaf0 DrawRadarTiles 33320 0.48 0.02 0 0 0 0x6fc150 DrawRadarObjects 32365 0.48 0.01 0 0 0 26 functions, 3490 instructions, Total: 19060229 samples, 79.84% of samples in the module, 47.66% of total session samples _______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev