@@ -1092,51 +1092,52 @@ void D3DXRenderBase::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
10921092 BasicStats.FrameEnd ();
10931093 auto renderTotal = Device.GetStats ().RenderTotal .result ;
10941094#define PPP (a ) (100 .f*float (a)/renderTotal)
1095- font.OutNext (" *** RENDER: %2.2fms" , renderTotal);
1096- font.OutNext (" Calc: %2.2fms, %2.1f%%" , BasicStats.Culling .result , PPP (BasicStats.Culling .result ));
1097- font.OutNext (" Skeletons: %2.2fms, %d" , BasicStats.Animation .result , BasicStats.Animation .count );
1098- font.OutNext (" Primitives: %2.2fms, %2.1f%%" , BasicStats.Primitives .result , PPP (BasicStats.Primitives .result ));
1099- font.OutNext (" Wait-L: %2.2fms" , BasicStats.Wait .result );
1100- font.OutNext (" Wait-S: %2.2fms" , BasicStats.WaitS .result );
1101- font.OutNext (" Skinning: %2.2fms" , BasicStats.Skinning .result );
1102- font.OutNext (" DT_Vis/Cnt: %2.2fms/%d" , BasicStats.DetailVisibility .result , BasicStats.DetailCount );
1103- font.OutNext (" DT_Render: %2.2fms" , BasicStats.DetailRender .result );
1104- font.OutNext (" DT_Cache: %2.2fms" , BasicStats.DetailCache .result );
1105- font.OutNext (" Wallmarks: %2.2fms, %d/%d - %d" , BasicStats.Wallmarks .result , BasicStats.StaticWMCount ,
1095+ font.OutNext (" *** RENDER: %2.2fms" , renderTotal);
1096+ font.OutNext (" Calc: %2.2fms, %2.1f%%" , BasicStats.Culling .result , PPP (BasicStats.Culling .result ));
1097+ font.OutNext (" Skeletons: %2.2fms, %d" , BasicStats.Animation .result , BasicStats.Animation .count );
1098+ font.OutNext (" Primitives: %2.2fms, %2.1f%%" , BasicStats.Primitives .result , PPP (BasicStats.Primitives .result ));
1099+ font.OutNext (" Wait-L: %2.2fms" , BasicStats.Wait .result );
1100+ font.OutNext (" Wait-S: %2.2fms" , BasicStats.WaitS .result );
1101+ font.OutNext (" Skinning: %2.2fms" , BasicStats.Skinning .result );
1102+ font.OutNext (" DT_Vis/Cnt: %2.2fms/%d" , BasicStats.DetailVisibility .result , BasicStats.DetailCount );
1103+ font.OutNext (" DT_Render: %2.2fms" , BasicStats.DetailRender .result );
1104+ font.OutNext (" DT_Cache: %2.2fms" , BasicStats.DetailCache .result );
1105+ font.OutNext (" Wallmarks: %2.2fms, %d/%d - %d" , BasicStats.Wallmarks .result , BasicStats.StaticWMCount ,
11061106 BasicStats.DynamicWMCount , BasicStats.WMTriCount );
1107- font.OutNext (" Glows: %2.2fms" , BasicStats.Glows .result );
1108- font.OutNext (" Lights: %2.2fms, %d" , BasicStats.Lights .result , BasicStats.Lights .count );
1109- font.OutNext (" RT: %2.2fms, %d" , BasicStats.RenderTargets .result , BasicStats.RenderTargets .count );
1110- font.OutNext (" HUD: %2.2fms" , BasicStats.HUD .result );
1111- font.OutNext (" P_calc: %2.2fms" , BasicStats.Projectors .result );
1112- font.OutNext (" S_calc: %2.2fms" , BasicStats.ShadowsCalc .result );
1113- font.OutNext (" S_render: %2.2fms, %d" , BasicStats.ShadowsRender .result , BasicStats.ShadowsRender .count );
1114- font.OutNext (" Occ-q (%03.1f, %2d/%2d)" ,
1115- 100 .f *f32 (BasicStats.OcclusionCulled ) / f32 (_min (1 , BasicStats.OcclusionQueries )),
1116- BasicStats.OcclusionCulled , BasicStats.OcclusionQueries );
1107+ font.OutNext (" Glows: %2.2fms" , BasicStats.Glows .result );
1108+ font.OutNext (" Lights: %2.2fms, %d" , BasicStats.Lights .result , BasicStats.Lights .count );
1109+ font.OutNext (" RT: %2.2fms, %d" , BasicStats.RenderTargets .result , BasicStats.RenderTargets .count );
1110+ font.OutNext (" HUD: %2.2fms" , BasicStats.HUD .result );
1111+ font.OutNext (" P_calc: %2.2fms" , BasicStats.Projectors .result );
1112+ font.OutNext (" S_calc: %2.2fms" , BasicStats.ShadowsCalc .result );
1113+ font.OutNext (" S_render: %2.2fms, %d" , BasicStats.ShadowsRender .result , BasicStats.ShadowsRender .count );
1114+ u32 occQs = BasicStats.OcclusionQueries ? BasicStats.OcclusionQueries : 1 ;
1115+ font.OutNext (" Occ-query: %03.1f" , 100 .f *f32 (BasicStats.OcclusionCulled )/occQs);
1116+ font.OutNext (" - queries: %u" , BasicStats.OcclusionQueries );
1117+ font.OutNext (" - culled: %u" , BasicStats.OcclusionCulled );
11171118#undef PPP
11181119 font.OutSkip ();
11191120 const auto &rcstats = RCache.stat ;
1120- font.OutNext (" VERT : %d/%d" , rcstats.verts , rcstats.calls ? rcstats.verts / rcstats.calls : 0 );
1121- font.OutNext (" POLY : %d/%d" , rcstats.polys , rcstats.calls ? rcstats.polys / rcstats.calls : 0 );
1122- font.OutNext (" DIP/DP: %d" , rcstats.calls );
1121+ font.OutNext (" Vertices : %d/%d" , rcstats.verts , rcstats.calls ? rcstats.verts / rcstats.calls : 0 );
1122+ font.OutNext (" Polygons : %d/%d" , rcstats.polys , rcstats.calls ? rcstats.polys / rcstats.calls : 0 );
1123+ font.OutNext (" DIP/DP: %d" , rcstats.calls );
11231124#ifdef DEBUG
1124- font.OutNext (" SH/T/M/C: %d/%d/%d/%d" , rcstats.states , rcstats.textures , rcstats.matrices , rcstats.constants );
1125- font.OutNext (" RT/PS/VS: %d/%d/%d" , rcstats.target_rt , rcstats.ps , rcstats.vs );
1126- font.OutNext (" DCL /VB/IB: %d/%d/%d" , rcstats.decl , rcstats.vb , rcstats.ib );
1125+ font.OutNext (" SH/T/M/C: %d/%d/%d/%d" , rcstats.states , rcstats.textures , rcstats.matrices , rcstats.constants );
1126+ font.OutNext (" RT/PS/VS: %d/%d/%d" , rcstats.target_rt , rcstats.ps , rcstats.vs );
1127+ font.OutNext (" DECL /VB/IB: %d/%d/%d" , rcstats.decl , rcstats.vb , rcstats.ib );
11271128#endif
1128- font.OutNext (" xforms: %d" , rcstats.xforms );
1129- font.OutNext (" static : %3.1f/%d" , rcstats.r .s_static .verts / 1024 .f , rcstats.r .s_static .dips );
1130- font.OutNext (" flora : %3.1f/%d" , rcstats.r .s_flora .verts / 1024 .f , rcstats.r .s_flora .dips );
1131- font.OutNext (" - lods: %3.1f/%d" , rcstats.r .s_flora_lods .verts / 1024 .f , rcstats.r .s_flora_lods .dips );
1132- font.OutNext (" dynamic : %3.1f/%d" , rcstats.r .s_dynamic .verts / 1024 .f , rcstats.r .s_dynamic .dips );
1133- font.OutNext (" - sw: %3.1f/%d" , rcstats.r .s_dynamic_sw .verts / 1024 .f , rcstats.r .s_dynamic_sw .dips );
1134- font.OutNext (" - inst: %3.1f/%d" , rcstats.r .s_dynamic_inst .verts / 1024 .f , rcstats.r .s_dynamic_inst .dips );
1135- font.OutNext (" - 1B: %3.1f/%d" , rcstats.r .s_dynamic_1B .verts / 1024 .f , rcstats.r .s_dynamic_1B .dips );
1136- font.OutNext (" - 2B: %3.1f/%d" , rcstats.r .s_dynamic_2B .verts / 1024 .f , rcstats.r .s_dynamic_2B .dips );
1137- font.OutNext (" - 3B: %3.1f/%d" , rcstats.r .s_dynamic_3B .verts / 1024 .f , rcstats.r .s_dynamic_3B .dips );
1138- font.OutNext (" - 4B: %3.1f/%d" , rcstats.r .s_dynamic_4B .verts / 1024 .f , rcstats.r .s_dynamic_4B .dips );
1139- font.OutNext (" details : %3.1f/%d" , rcstats.r .s_details .verts / 1024 .f , rcstats.r .s_details .dips );
1129+ font.OutNext (" XForms: %d" , rcstats.xforms );
1130+ font.OutNext (" Static : %3.1f/%d" , rcstats.r .s_static .verts / 1024 .f , rcstats.r .s_static .dips );
1131+ font.OutNext (" Flora : %3.1f/%d" , rcstats.r .s_flora .verts / 1024 .f , rcstats.r .s_flora .dips );
1132+ font.OutNext (" - lods: %3.1f/%d" , rcstats.r .s_flora_lods .verts / 1024 .f , rcstats.r .s_flora_lods .dips );
1133+ font.OutNext (" Dynamic : %3.1f/%d" , rcstats.r .s_dynamic .verts / 1024 .f , rcstats.r .s_dynamic .dips );
1134+ font.OutNext (" - sw: %3.1f/%d" , rcstats.r .s_dynamic_sw .verts / 1024 .f , rcstats.r .s_dynamic_sw .dips );
1135+ font.OutNext (" - inst: %3.1f/%d" , rcstats.r .s_dynamic_inst .verts / 1024 .f , rcstats.r .s_dynamic_inst .dips );
1136+ font.OutNext (" - 1B: %3.1f/%d" , rcstats.r .s_dynamic_1B .verts / 1024 .f , rcstats.r .s_dynamic_1B .dips );
1137+ font.OutNext (" - 2B: %3.1f/%d" , rcstats.r .s_dynamic_2B .verts / 1024 .f , rcstats.r .s_dynamic_2B .dips );
1138+ font.OutNext (" - 3B: %3.1f/%d" , rcstats.r .s_dynamic_3B .verts / 1024 .f , rcstats.r .s_dynamic_3B .dips );
1139+ font.OutNext (" - 4B: %3.1f/%d" , rcstats.r .s_dynamic_4B .verts / 1024 .f , rcstats.r .s_dynamic_4B .dips );
1140+ font.OutNext (" Details : %3.1f/%d" , rcstats.r .s_details .verts / 1024 .f , rcstats.r .s_details .dips );
11401141 if (alert)
11411142 {
11421143 if (rcstats.verts >500000 )
0 commit comments