mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-03-15 07:00:58 +00:00
Use proper getters & setters for gameThread and renderSync times
This commit is contained in:
parent
09e0a4c5c8
commit
af08e7d414
3 changed files with 29 additions and 17 deletions
|
@ -368,6 +368,18 @@ public:
|
|||
return stats_backend.gpuPostProcessingMicroSec;
|
||||
}
|
||||
// RB end
|
||||
|
||||
// SRS start
|
||||
uint64 GetRendererStartFrameSyncMicroseconds() const
|
||||
{
|
||||
return mainFrameTiming.finishSyncTime - mainFrameTiming.startSyncTime;
|
||||
}
|
||||
|
||||
uint64 GetRendererEndFrameSyncMicroseconds() const
|
||||
{
|
||||
return mainFrameTiming.finishSyncTime_EndFrame - mainFrameTiming.startRenderTime;
|
||||
}
|
||||
// SRS end
|
||||
|
||||
// foresthale 2014-05-30: a special binarize pacifier has to be shown in
|
||||
// some cases, which includes filename and ETA information, note that
|
||||
|
|
|
@ -270,13 +270,13 @@ float idConsoleLocal::DrawFPS( float y )
|
|||
}
|
||||
// DG end
|
||||
|
||||
//const uint64 gameThreadTotalTime = commonLocal.GetGameThreadTotalTime();
|
||||
//const uint64 gameThreadGameTime = commonLocal.GetGameThreadGameTime();
|
||||
//const uint64 gameThreadRenderTime = commonLocal.GetGameThreadRenderTime();
|
||||
const uint64 gameThreadTotalTime = commonLocal.GetGameThreadTotalTime();
|
||||
const uint64 gameThreadGameTime = commonLocal.GetGameThreadGameTime();
|
||||
const uint64 gameThreadRenderTime = commonLocal.GetGameThreadRenderTime();
|
||||
|
||||
const uint64 gameThreadTotalTime = commonLocal.mainFrameTiming.finishDrawTime - commonLocal.mainFrameTiming.startGameTime;
|
||||
const uint64 gameThreadGameTime = commonLocal.mainFrameTiming.finishGameTime - commonLocal.mainFrameTiming.startGameTime;
|
||||
const uint64 gameThreadRenderTime = commonLocal.mainFrameTiming.finishDrawTime - commonLocal.mainFrameTiming.finishGameTime;
|
||||
//const uint64 gameThreadTotalTime = commonLocal.mainFrameTiming.finishDrawTime - commonLocal.mainFrameTiming.startGameTime;
|
||||
//const uint64 gameThreadGameTime = commonLocal.mainFrameTiming.finishGameTime - commonLocal.mainFrameTiming.startGameTime;
|
||||
//const uint64 gameThreadRenderTime = commonLocal.mainFrameTiming.finishDrawTime - commonLocal.mainFrameTiming.finishGameTime;
|
||||
|
||||
const uint64 rendererBackEndTime = commonLocal.GetRendererBackEndMicroseconds();
|
||||
const uint64 rendererShadowsTime = commonLocal.GetRendererShadowsMicroseconds();
|
||||
|
@ -292,13 +292,13 @@ float idConsoleLocal::DrawFPS( float y )
|
|||
const uint64 rendererGPUPostProcessingTime = commonLocal.GetRendererGpuPostProcessingMicroseconds();
|
||||
const int maxTime = int( 1000 / com_engineHz_latched ) * 1000;
|
||||
|
||||
// SRS - Calculate time waiting for GPU to sync at the start of a frame (com_smp = 1 or 0) and at the end of a frame (com_smp = -1)
|
||||
const uint64 rendererSyncTime_StartFrame = commonLocal.mainFrameTiming.finishSyncTime - commonLocal.mainFrameTiming.startSyncTime;
|
||||
const uint64 rendererSyncTime_EndFrame = commonLocal.mainFrameTiming.finishSyncTime_EndFrame - commonLocal.mainFrameTiming.startRenderTime;
|
||||
// SRS - Get GPU sync time at the start of a frame (com_smp = 1 or 0) and at the end of a frame (com_smp = -1)
|
||||
const uint64 rendererStartFrameSyncTime = commonLocal.GetRendererStartFrameSyncMicroseconds();
|
||||
const uint64 rendererEndFrameSyncTime = commonLocal.GetRendererEndFrameSyncMicroseconds();
|
||||
|
||||
// SRS - Total CPU and Frame time calculations depend on whether game is operating in smp mode or not
|
||||
const uint64 totalCPUTime = ( com_smp.GetInteger() > 0 && com_editors == 0 ? std::max( gameThreadTotalTime, rendererBackEndTime ) : gameThreadTotalTime + rendererBackEndTime );
|
||||
const uint64 totalFrameTime = ( com_smp.GetInteger() > 0 && com_editors == 0 ? std::max( gameThreadTotalTime, rendererSyncTime_EndFrame ) : gameThreadTotalTime + rendererSyncTime_EndFrame ) + rendererSyncTime_StartFrame;
|
||||
const uint64 totalFrameTime = ( com_smp.GetInteger() > 0 && com_editors == 0 ? std::max( gameThreadTotalTime, rendererEndFrameSyncTime ) : gameThreadTotalTime + rendererEndFrameSyncTime ) + rendererStartFrameSyncTime;
|
||||
|
||||
#if 1
|
||||
|
||||
|
@ -377,7 +377,7 @@ float idConsoleLocal::DrawFPS( float y )
|
|||
|
||||
if( com_showFPS.GetInteger() > 2 )
|
||||
{
|
||||
ImGui::TextColored( colorLtGrey, "DYNAMIC: callback:%2i md5:%i dfrmVerts:%i dfrmTris:%i tangTris:%i guis:%i",
|
||||
ImGui::TextColored( colorLtGrey, "DYNAMIC: callback:%-2i md5:%i dfrmVerts:%i dfrmTris:%i tangTris:%i guis:%i",
|
||||
commonLocal.stats_frontend.c_entityDefCallbacks,
|
||||
commonLocal.stats_frontend.c_generateMd5,
|
||||
commonLocal.stats_frontend.c_deformedVerts,
|
||||
|
@ -389,16 +389,16 @@ float idConsoleLocal::DrawFPS( float y )
|
|||
//ImGui::Text( "Cull: %i box in %i box out\n",
|
||||
// commonLocal.stats_frontend.c_box_cull_in, commonLocal.stats_frontend.c_box_cull_out );
|
||||
|
||||
ImGui::TextColored( colorLtGrey, "ADDMODEL: callback:%2i createInteractions:%i createShadowVolumes:%i",
|
||||
ImGui::TextColored( colorLtGrey, "ADDMODEL: callback:%-2i createInteractions:%i createShadowVolumes:%i",
|
||||
commonLocal.stats_frontend.c_entityDefCallbacks,
|
||||
commonLocal.stats_frontend.c_createInteractions,
|
||||
commonLocal.stats_frontend.c_createShadowVolumes );
|
||||
|
||||
ImGui::TextColored( colorLtGrey, "viewEntities:%2i shadowEntities:%i viewLights:%i\n", commonLocal.stats_frontend.c_visibleViewEntities,
|
||||
ImGui::TextColored( colorLtGrey, "viewEntities:%-3i shadowEntities:%-3i viewLights:%i\n", commonLocal.stats_frontend.c_visibleViewEntities,
|
||||
commonLocal.stats_frontend.c_shadowViewEntities,
|
||||
commonLocal.stats_frontend.c_viewLights );
|
||||
|
||||
ImGui::TextColored( colorLtGrey, "UPDATES: entityUpdates:%2i entityRefs:%2i lightUpdates:%i lightRefs:%i\n",
|
||||
ImGui::TextColored( colorLtGrey, "UPDATES: entityUpdates:%-3i entityRefs:%-3i lightUpdates:%-2i lightRefs:%i\n",
|
||||
commonLocal.stats_frontend.c_entityUpdates, commonLocal.stats_frontend.c_entityReferences,
|
||||
commonLocal.stats_frontend.c_lightUpdates, commonLocal.stats_frontend.c_lightReferences );
|
||||
}
|
||||
|
|
|
@ -155,7 +155,7 @@ int idGameThread::Run()
|
|||
|
||||
commonLocal.frameTiming.finishGameTime = Sys_Microseconds();
|
||||
|
||||
SetThreadGameTime( ( commonLocal.frameTiming.finishGameTime - commonLocal.frameTiming.startGameTime ) / 1000 );
|
||||
SetThreadGameTime( commonLocal.frameTiming.finishGameTime - commonLocal.frameTiming.startGameTime );
|
||||
|
||||
// build render commands and geometry
|
||||
{
|
||||
|
@ -165,9 +165,9 @@ int idGameThread::Run()
|
|||
|
||||
commonLocal.frameTiming.finishDrawTime = Sys_Microseconds();
|
||||
|
||||
SetThreadRenderTime( ( commonLocal.frameTiming.finishDrawTime - commonLocal.frameTiming.finishGameTime ) / 1000 );
|
||||
SetThreadRenderTime( commonLocal.frameTiming.finishDrawTime - commonLocal.frameTiming.finishGameTime );
|
||||
|
||||
SetThreadTotalTime( ( commonLocal.frameTiming.finishDrawTime - commonLocal.frameTiming.startGameTime ) / 1000 );
|
||||
SetThreadTotalTime( commonLocal.frameTiming.finishDrawTime - commonLocal.frameTiming.startGameTime );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue