Skip to content

Commit

Permalink
Tweak performance stats formatting.
Browse files Browse the repository at this point in the history
  • Loading branch information
nitrocaster committed Oct 21, 2015
1 parent d48d4f0 commit 65393cb
Show file tree
Hide file tree
Showing 14 changed files with 127 additions and 105 deletions.
7 changes: 4 additions & 3 deletions src/Layers/xrRender/HOM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -336,9 +336,10 @@ void CHOM::Enable ()
void CHOM::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
stats.FrameEnd();
auto modelTris = m_pModel ? m_pModel->get_tris_count() : 0;
font.OutNext(" **** HOM: %2.2fms (%d) visible[%2d] frustum[%2d] total[%2d]",
stats.Total.result, stats.Total.count, stats.VisibleTriangleCount, stats.FrustumTriangleCount, modelTris);
font.OutNext("HOM: %2.2fms, %u", stats.Total.result, stats.Total.count);
font.OutNext("- visible: %u", stats.VisibleTriangleCount);
font.OutNext("- frustum: %u", stats.FrustumTriangleCount);
font.OutNext("- total: %d", m_pModel ? m_pModel->get_tris_count() : 0);
stats.FrameStart();
}

Expand Down
79 changes: 40 additions & 39 deletions src/Layers/xrRender/r__dsgraph_build.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1092,51 +1092,52 @@ void D3DXRenderBase::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
BasicStats.FrameEnd();
auto renderTotal = Device.GetStats().RenderTotal.result;
#define PPP(a) (100.f*float(a)/renderTotal)
font.OutNext("*** RENDER: %2.2fms", renderTotal);
font.OutNext(" Calc: %2.2fms, %2.1f%%", BasicStats.Culling.result, PPP(BasicStats.Culling.result));
font.OutNext(" Skeletons: %2.2fms, %d", BasicStats.Animation.result, BasicStats.Animation.count);
font.OutNext(" Primitives: %2.2fms, %2.1f%%", BasicStats.Primitives.result, PPP(BasicStats.Primitives.result));
font.OutNext(" Wait-L: %2.2fms", BasicStats.Wait.result);
font.OutNext(" Wait-S: %2.2fms", BasicStats.WaitS.result);
font.OutNext(" Skinning: %2.2fms", BasicStats.Skinning.result);
font.OutNext(" DT_Vis/Cnt: %2.2fms/%d", BasicStats.DetailVisibility.result, BasicStats.DetailCount);
font.OutNext(" DT_Render: %2.2fms", BasicStats.DetailRender.result);
font.OutNext(" DT_Cache: %2.2fms", BasicStats.DetailCache.result);
font.OutNext(" Wallmarks: %2.2fms, %d/%d - %d", BasicStats.Wallmarks.result, BasicStats.StaticWMCount,
font.OutNext("*** RENDER: %2.2fms", renderTotal);
font.OutNext("Calc: %2.2fms, %2.1f%%", BasicStats.Culling.result, PPP(BasicStats.Culling.result));
font.OutNext("Skeletons: %2.2fms, %d", BasicStats.Animation.result, BasicStats.Animation.count);
font.OutNext("Primitives: %2.2fms, %2.1f%%", BasicStats.Primitives.result, PPP(BasicStats.Primitives.result));
font.OutNext("Wait-L: %2.2fms", BasicStats.Wait.result);
font.OutNext("Wait-S: %2.2fms", BasicStats.WaitS.result);
font.OutNext("Skinning: %2.2fms", BasicStats.Skinning.result);
font.OutNext("DT_Vis/Cnt: %2.2fms/%d", BasicStats.DetailVisibility.result, BasicStats.DetailCount);
font.OutNext("DT_Render: %2.2fms", BasicStats.DetailRender.result);
font.OutNext("DT_Cache: %2.2fms", BasicStats.DetailCache.result);
font.OutNext("Wallmarks: %2.2fms, %d/%d - %d", BasicStats.Wallmarks.result, BasicStats.StaticWMCount,
BasicStats.DynamicWMCount, BasicStats.WMTriCount);
font.OutNext(" Glows: %2.2fms", BasicStats.Glows.result);
font.OutNext(" Lights: %2.2fms, %d", BasicStats.Lights.result, BasicStats.Lights.count);
font.OutNext(" RT: %2.2fms, %d", BasicStats.RenderTargets.result, BasicStats.RenderTargets.count);
font.OutNext(" HUD: %2.2fms", BasicStats.HUD.result);
font.OutNext(" P_calc: %2.2fms", BasicStats.Projectors.result);
font.OutNext(" S_calc: %2.2fms", BasicStats.ShadowsCalc.result);
font.OutNext(" S_render: %2.2fms, %d", BasicStats.ShadowsRender.result, BasicStats.ShadowsRender.count);
font.OutNext(" Occ-q (%03.1f, %2d/%2d)",
100.f*f32(BasicStats.OcclusionCulled) / f32(_min(1, BasicStats.OcclusionQueries)),
BasicStats.OcclusionCulled, BasicStats.OcclusionQueries);
font.OutNext("Glows: %2.2fms", BasicStats.Glows.result);
font.OutNext("Lights: %2.2fms, %d", BasicStats.Lights.result, BasicStats.Lights.count);
font.OutNext("RT: %2.2fms, %d", BasicStats.RenderTargets.result, BasicStats.RenderTargets.count);
font.OutNext("HUD: %2.2fms", BasicStats.HUD.result);
font.OutNext("P_calc: %2.2fms", BasicStats.Projectors.result);
font.OutNext("S_calc: %2.2fms", BasicStats.ShadowsCalc.result);
font.OutNext("S_render: %2.2fms, %d", BasicStats.ShadowsRender.result, BasicStats.ShadowsRender.count);
u32 occQs = BasicStats.OcclusionQueries ? BasicStats.OcclusionQueries : 1;
font.OutNext("Occ-query: %03.1f", 100.f*f32(BasicStats.OcclusionCulled)/occQs);
font.OutNext("- queries: %u", BasicStats.OcclusionQueries);
font.OutNext("- culled: %u", BasicStats.OcclusionCulled);
#undef PPP
font.OutSkip();
const auto &rcstats = RCache.stat;
font.OutNext("VERT: %d/%d", rcstats.verts, rcstats.calls ? rcstats.verts / rcstats.calls : 0);
font.OutNext("POLY: %d/%d", rcstats.polys, rcstats.calls ? rcstats.polys / rcstats.calls : 0);
font.OutNext("DIP/DP: %d", rcstats.calls);
font.OutNext("Vertices: %d/%d", rcstats.verts, rcstats.calls ? rcstats.verts/rcstats.calls : 0);
font.OutNext("Polygons: %d/%d", rcstats.polys, rcstats.calls ? rcstats.polys/rcstats.calls : 0);
font.OutNext("DIP/DP: %d", rcstats.calls);
#ifdef DEBUG
font.OutNext("SH/T/M/C: %d/%d/%d/%d", rcstats.states, rcstats.textures, rcstats.matrices, rcstats.constants);
font.OutNext("RT/PS/VS: %d/%d/%d", rcstats.target_rt, rcstats.ps, rcstats.vs);
font.OutNext("DCL/VB/IB: %d/%d/%d", rcstats.decl, rcstats.vb, rcstats.ib);
font.OutNext("SH/T/M/C: %d/%d/%d/%d", rcstats.states, rcstats.textures, rcstats.matrices, rcstats.constants);
font.OutNext("RT/PS/VS: %d/%d/%d", rcstats.target_rt, rcstats.ps, rcstats.vs);
font.OutNext("DECL/VB/IB: %d/%d/%d", rcstats.decl, rcstats.vb, rcstats.ib);
#endif
font.OutNext("xforms: %d", rcstats.xforms);
font.OutNext("static: %3.1f/%d", rcstats.r.s_static.verts / 1024.f, rcstats.r.s_static.dips);
font.OutNext("flora: %3.1f/%d", rcstats.r.s_flora.verts / 1024.f, rcstats.r.s_flora.dips);
font.OutNext("- lods: %3.1f/%d", rcstats.r.s_flora_lods.verts / 1024.f, rcstats.r.s_flora_lods.dips);
font.OutNext("dynamic: %3.1f/%d", rcstats.r.s_dynamic.verts / 1024.f, rcstats.r.s_dynamic.dips);
font.OutNext("- sw: %3.1f/%d", rcstats.r.s_dynamic_sw.verts / 1024.f, rcstats.r.s_dynamic_sw.dips);
font.OutNext("- inst: %3.1f/%d", rcstats.r.s_dynamic_inst.verts / 1024.f, rcstats.r.s_dynamic_inst.dips);
font.OutNext("- 1B: %3.1f/%d", rcstats.r.s_dynamic_1B.verts / 1024.f, rcstats.r.s_dynamic_1B.dips);
font.OutNext("- 2B: %3.1f/%d", rcstats.r.s_dynamic_2B.verts / 1024.f, rcstats.r.s_dynamic_2B.dips);
font.OutNext("- 3B: %3.1f/%d", rcstats.r.s_dynamic_3B.verts / 1024.f, rcstats.r.s_dynamic_3B.dips);
font.OutNext("- 4B: %3.1f/%d", rcstats.r.s_dynamic_4B.verts / 1024.f, rcstats.r.s_dynamic_4B.dips);
font.OutNext("details: %3.1f/%d", rcstats.r.s_details.verts / 1024.f, rcstats.r.s_details.dips);
font.OutNext("XForms: %d", rcstats.xforms);
font.OutNext("Static: %3.1f/%d", rcstats.r.s_static.verts/1024.f, rcstats.r.s_static.dips);
font.OutNext("Flora: %3.1f/%d", rcstats.r.s_flora.verts/1024.f, rcstats.r.s_flora.dips);
font.OutNext("- lods: %3.1f/%d", rcstats.r.s_flora_lods.verts/1024.f, rcstats.r.s_flora_lods.dips);
font.OutNext("Dynamic: %3.1f/%d", rcstats.r.s_dynamic.verts/1024.f, rcstats.r.s_dynamic.dips);
font.OutNext("- sw: %3.1f/%d", rcstats.r.s_dynamic_sw.verts/1024.f, rcstats.r.s_dynamic_sw.dips);
font.OutNext("- inst: %3.1f/%d", rcstats.r.s_dynamic_inst.verts/1024.f, rcstats.r.s_dynamic_inst.dips);
font.OutNext("- 1B: %3.1f/%d", rcstats.r.s_dynamic_1B.verts/1024.f, rcstats.r.s_dynamic_1B.dips);
font.OutNext("- 2B: %3.1f/%d", rcstats.r.s_dynamic_2B.verts/1024.f, rcstats.r.s_dynamic_2B.dips);
font.OutNext("- 3B: %3.1f/%d", rcstats.r.s_dynamic_3B.verts/1024.f, rcstats.r.s_dynamic_3B.dips);
font.OutNext("- 4B: %3.1f/%d", rcstats.r.s_dynamic_4B.verts/1024.f, rcstats.r.s_dynamic_4B.dips);
font.OutNext("Details: %3.1f/%d", rcstats.r.s_details.verts/1024.f, rcstats.r.s_details.dips);
if (alert)
{
if (rcstats.verts>500000)
Expand Down
19 changes: 12 additions & 7 deletions src/Layers/xrRenderPC_R2/r2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -528,14 +528,19 @@ void CRender::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
D3DXRenderBase::DumpStatistics(font, alert);
Stats.FrameEnd();
font.OutNext(" **** LT:%2d,LV:%2d", Stats.l_total, Stats.l_visible);
font.OutNext(" S(%2d) | (%2d)NS ", Stats.l_shadowed, Stats.l_unshadowed);
font.OutNext("smap use[%2d], merge[%2d], finalclip[%2d]", Stats.s_used, Stats.s_merged - Stats.s_used, Stats.s_finalclip);
font.OutSkip();
font.OutNext("Lights:");
font.OutNext("- total: %u", Stats.l_total);
font.OutNext("- visible: %u", Stats.l_visible);
font.OutNext("- shadowed: %u", Stats.l_shadowed);
font.OutNext("- unshadowed: %u", Stats.l_unshadowed);
font.OutNext("Shadow maps:");
font.OutNext("- used: %d", Stats.s_used);
font.OutNext("- merged: %d", Stats.s_merged-Stats.s_used);
font.OutNext("- finalclip: %d", Stats.s_finalclip);
u32 ict = Stats.ic_total + Stats.ic_culled;
font.OutNext(" **** iCULL(%03.1f)", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext(" visible: %2d", Stats.ic_total);
font.OutNext(" culled : %2d", Stats.ic_culled);
font.OutNext("ICULL: %03.1f", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext("- visible: %u", Stats.ic_total);
font.OutNext("- culled: %u", Stats.ic_culled);
Stats.FrameStart();
HOM.DumpStatistics(font, alert);
}
Expand Down
19 changes: 12 additions & 7 deletions src/Layers/xrRenderPC_R3/r3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -661,14 +661,19 @@ void CRender::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
D3DXRenderBase::DumpStatistics(font, alert);
Stats.FrameEnd();
font.OutNext(" **** LT:%2d,LV:%2d", Stats.l_total, Stats.l_visible);
font.OutNext(" S(%2d) | (%2d)NS ", Stats.l_shadowed, Stats.l_unshadowed);
font.OutNext("smap use[%2d], merge[%2d], finalclip[%2d]", Stats.s_used, Stats.s_merged - Stats.s_used, Stats.s_finalclip);
font.OutSkip();
font.OutNext("Lights:");
font.OutNext("- total: %u", Stats.l_total);
font.OutNext("- visible: %u", Stats.l_visible);
font.OutNext("- shadowed: %u", Stats.l_shadowed);
font.OutNext("- unshadowed: %u", Stats.l_unshadowed);
font.OutNext("Shadow maps:");
font.OutNext("- used: %d", Stats.s_used);
font.OutNext("- merged: %d", Stats.s_merged-Stats.s_used);
font.OutNext("- finalclip: %d", Stats.s_finalclip);
u32 ict = Stats.ic_total + Stats.ic_culled;
font.OutNext(" **** iCULL(%03.1f)", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext(" visible: %2d", Stats.ic_total);
font.OutNext(" culled : %2d", Stats.ic_culled);
font.OutNext("ICULL: %03.1f", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext("- visible: %u", Stats.ic_total);
font.OutNext("- culled: %u", Stats.ic_culled);
Stats.FrameStart();
HOM.DumpStatistics(font, alert);
}
Expand Down
19 changes: 12 additions & 7 deletions src/Layers/xrRenderPC_R4/r4.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -675,14 +675,19 @@ void CRender::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
D3DXRenderBase::DumpStatistics(font, alert);
Stats.FrameEnd();
font.OutNext(" **** LT:%2d,LV:%2d", Stats.l_total, Stats.l_visible);
font.OutNext(" S(%2d) | (%2d)NS ", Stats.l_shadowed, Stats.l_unshadowed);
font.OutNext("smap use[%2d], merge[%2d], finalclip[%2d]", Stats.s_used, Stats.s_merged - Stats.s_used, Stats.s_finalclip);
font.OutSkip();
font.OutNext("Lights:");
font.OutNext("- total: %u", Stats.l_total);
font.OutNext("- visible: %u", Stats.l_visible);
font.OutNext("- shadowed: %u", Stats.l_shadowed);
font.OutNext("- unshadowed: %u", Stats.l_unshadowed);
font.OutNext("Shadow maps:");
font.OutNext("- used: %d", Stats.s_used);
font.OutNext("- merged: %d", Stats.s_merged-Stats.s_used);
font.OutNext("- finalclip: %d", Stats.s_finalclip);
u32 ict = Stats.ic_total + Stats.ic_culled;
font.OutNext(" **** iCULL(%03.1f)", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext(" visible: %2d", Stats.ic_total);
font.OutNext(" culled : %2d", Stats.ic_culled);
font.OutNext("ICULL: %03.1f", 100.f*f32(Stats.ic_culled) / f32(ict ? ict : 1));
font.OutNext("- visible: %u", Stats.ic_total);
font.OutNext("- culled: %u", Stats.ic_culled);
Stats.FrameStart();
HOM.DumpStatistics(font, alert);
}
Expand Down
6 changes: 3 additions & 3 deletions src/xrEngine/Device_Initialize.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ PROTECT_API void CRenderDevice::Initialize()

void CRenderDevice::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
font.OutNext("*** ENGINE: %2.2fms", stats.EngineTotal.result);
font.OutNext("- FPS/RFPS: %3.1f/%3.1f", stats.fFPS, stats.fRFPS);
font.OutNext("- TPS: %2.2f M", stats.fTPS);
font.OutNext("*** ENGINE: %2.2fms", stats.EngineTotal.result);
font.OutNext("FPS/RFPS: %3.1f/%3.1f", stats.fFPS, stats.fRFPS);
font.OutNext("TPS: %2.2f M", stats.fTPS);
if (alert && stats.fFPS<30)
alert->Print(font, "FPS < 30: %3.1f", stats.fFPS);
}
26 changes: 13 additions & 13 deletions src/xrEngine/Stats.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,11 @@ static void DumpSpatialStatistics(CGameFont &font, PerformanceAlert *alert, ISpa
auto &stats = db.Stats;
stats.FrameEnd();
#define PPP(a) (100.f*float(a)/engineTotal)
font.OutNext("%s: %.2fms, %u", db.Name, stats.Query.result, stats.Query.count);
font.OutNext("- nodes/objects: %u/%u", stats.NodeCount, stats.ObjectCount);
font.OutNext("- insert: %.2fms, %2.1f%%", stats.Insert.result, PPP(stats.Insert.result));
font.OutNext("- remove: %.2fms, %2.1f%%", stats.Remove.result, PPP(stats.Remove.result));
font.OutNext("%s:", db.Name);
font.OutNext("- query: %.2fms, %u", stats.Query.result, stats.Query.count);
font.OutNext("- nodes/obj: %u/%u", stats.NodeCount, stats.ObjectCount);
font.OutNext("- insert: %.2fms, %2.1f%%", stats.Insert.result, PPP(stats.Insert.result));
font.OutNext("- remove: %.2fms, %2.1f%%", stats.Remove.result, PPP(stats.Remove.result));
#undef PPP
stats.FrameStart();
#endif
Expand All @@ -94,9 +95,10 @@ static void DumpColliderStatistics(CGameFont &font, PerformanceAlert *alert)
static float boxPs = 0;
rayPs = 0.99f*rayPs + 0.01f*(stats.RayQuery.count/stats.RayQuery.result);
boxPs = 0.99f*boxPs + 0.01f*(stats.BoxQuery.count/stats.BoxQuery.result);
font.OutNext("XRC ray query: %2.2fms, %d, %2.0fK", stats.RayQuery.result, stats.RayQuery.count, rayPs);
font.OutNext("XRC box query: %2.2fms, %d, %2.0fK", stats.BoxQuery.result, stats.BoxQuery.count, boxPs);
font.OutNext("XRC frustum query: %2.2fms, %d", stats.FrustumQuery.result, stats.FrustumQuery.count);
font.OutNext("XRC:");
font.OutNext("- ray: %2.2fms, %d, %2.0fK", stats.RayQuery.result, stats.RayQuery.count, rayPs);
font.OutNext("- box: %2.2fms, %d, %2.0fK", stats.BoxQuery.result, stats.BoxQuery.count, boxPs);
font.OutNext("- frustum: %2.2fms, %d", stats.FrustumQuery.result, stats.FrustumQuery.count);
stats.FrameStart();
}

Expand Down Expand Up @@ -130,11 +132,10 @@ void CStats::Show()
font.SetColor(0xFFFFFFFF);
font.OutSet(0, 0);
#if defined(FS_DEBUG)
font.OutNext("mapped: %d", g_file_mapped_memory);
font.OutNext("Mapped: %d", g_file_mapped_memory);
#endif
font.OutSkip();
Device.DumpStatistics(font, alertPtr);
font.OutNext("Memory: %2.2fa", fMem_calls);
font.OutNext("Memory: %2.2f", fMem_calls);
if (g_pGameLevel)
g_pGameLevel->DumpStatistics(font, alertPtr);
Engine.Sheduler.DumpStatistics(font, alertPtr);
Expand All @@ -144,7 +145,6 @@ void CStats::Show()
DumpColliderStatistics(font, alertPtr);
if (physics_world())
physics_world()->DumpStatistics(font, alertPtr);
font.OutSkip();
font.OutSet(200, 0);
Render->DumpStatistics(font, alertPtr);
font.OutSkip();
Expand All @@ -158,7 +158,7 @@ void CStats::Show()
Memory.stat_strdock = 0;
CPU::qpc_counter = 0;
#else
font.OutNext("qpc[%3d]", CPU::qpc_counter);
font.OutNext("QPC: %u", CPU::qpc_counter);
CPU::qpc_counter = 0;
#endif
font.OnRender();
Expand All @@ -176,7 +176,7 @@ void CStats::Show()
if (!g_bDisableRedText && errors.size())
{
font.SetColor(color_rgba(255, 16, 16, 191));
font.OutSet(200, 0);
font.OutSet(400, 0);
for (u32 it = (u32)_max(int(0), (int)errors.size() - g_ErrorLineCount); it < errors.size(); it++)
font.OutNext("%s", errors[it].c_str());
font.OnRender();
Expand Down
2 changes: 1 addition & 1 deletion src/xrEngine/Xr_input.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ HRESULT CInput::CreateInputDevice(LPDIRECTINPUTDEVICE8* device, GUID guidDevice,

void CInput::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
font.OutNext("Input: %2.2fms", pInput->GetStats().FrameTime.result);
font.OutNext("*** INPUT: %2.2fms", pInput->GetStats().FrameTime.result);
}


Expand Down
5 changes: 3 additions & 2 deletions src/xrEngine/xrSheduler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,9 @@ void CSheduler::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
{
stats.FrameEnd();
float percentage = 100.f*stats.Update.result / Device.GetStats().EngineTotal.result;
font.OutNext("Sheduler update: %2.2fms, %2.1f%%", stats.Update.result, percentage);
font.OutNext("Sheduler load: %2.2fms", stats.Load);
font.OutNext("Scheduler:");
font.OutNext("- update: %2.2fms, %2.1f%%", stats.Update.result, percentage);
font.OutNext("- load: %2.2fms", stats.Load);
if (alert && stats.Update.result>3.0f)
alert->Print(font, "Update > 3ms: %3.1f", stats.Update.result);
stats.FrameStart();
Expand Down
8 changes: 5 additions & 3 deletions src/xrEngine/xr_object_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ void CObjectList::DumpStatistics(CGameFont &font, PerformanceAlert *alert)
stats.FrameEnd();
float engineTotal = Device.GetStats().EngineTotal.result;
float percentage = 100.0f * stats.Update.result / engineTotal;
font.OutNext("uClients: %2.2fms, %2.1f%%, crow(%d)/active(%d)/total(%d)", stats.Update.result,
percentage, stats.Crows, stats.Active, stats.Total);
font.OutNext("Objects: %2.2fms, %2.1f%%", stats.Update.result, percentage);
font.OutNext("- crow: %d", stats.Crows);
font.OutNext("- active: %d", stats.Active);
font.OutNext("- total: %d", stats.Total);
if (alert && stats.Update.result>3.0f)
alert->Print(font, "UpdateCL > 3ms: %3.1f", stats.Update.result);
alert->Print(font, "UpdateCL > 3ms: %3.1f", stats.Update.result);
}

CObjectList::CObjectList() :
Expand Down
Loading

0 comments on commit 65393cb

Please sign in to comment.