- added profiling for postprocessing code.

This commit is contained in:
Christoph Oelckers 2018-09-02 11:34:18 +02:00
parent 55d1613ea4
commit 2d1043d1d3
3 changed files with 7 additions and 4 deletions

View file

@ -493,6 +493,7 @@ sector_t * FGLRenderer::RenderViewpoint (FRenderViewpoint &mainvp, AActor * came
if (mainview) if (mainview)
{ {
PostProcess.Clock();
if (toscreen) di->EndDrawScene(mainvp.sector); // do not call this for camera textures. if (toscreen) di->EndDrawScene(mainvp.sector); // do not call this for camera textures.
if (gl_RenderState.GetPassType() == GBUFFER_PASS) // Turn off ssao draw buffers if (gl_RenderState.GetPassType() == GBUFFER_PASS) // Turn off ssao draw buffers
@ -506,6 +507,7 @@ sector_t * FGLRenderer::RenderViewpoint (FRenderViewpoint &mainvp, AActor * came
FGLDebug::PopGroup(); // MainView FGLDebug::PopGroup(); // MainView
PostProcessScene(cm, [&]() { di->DrawEndScene2D(mainvp.sector); }); PostProcessScene(cm, [&]() { di->DrawEndScene2D(mainvp.sector); });
PostProcess.Unclock();
} }
di->EndDrawInfo(); di->EndDrawInfo();
if (vrmode->mEyeCount > 1) if (vrmode->mEyeCount > 1)

View file

@ -46,7 +46,7 @@ glcycle_t RenderWall,SetupWall,ClipWall;
glcycle_t RenderFlat,SetupFlat; glcycle_t RenderFlat,SetupFlat;
glcycle_t RenderSprite,SetupSprite; glcycle_t RenderSprite,SetupSprite;
glcycle_t All, Finish, PortalAll, Bsp; glcycle_t All, Finish, PortalAll, Bsp;
glcycle_t ProcessAll; glcycle_t ProcessAll, PostProcess;
glcycle_t RenderAll; glcycle_t RenderAll;
glcycle_t Dirty; glcycle_t Dirty;
glcycle_t drawcalls; glcycle_t drawcalls;
@ -64,6 +64,7 @@ void ResetProfilingData()
PortalAll.Reset(); PortalAll.Reset();
RenderAll.Reset(); RenderAll.Reset();
ProcessAll.Reset(); ProcessAll.Reset();
PostProcess.Reset();
RenderWall.Reset(); RenderWall.Reset();
SetupWall.Reset(); SetupWall.Reset();
ClipWall.Reset(); ClipWall.Reset();
@ -94,13 +95,13 @@ static void AppendRenderTimes(FString &str)
"F: Render=%2.3f, Setup=%2.3f\n" "F: Render=%2.3f, Setup=%2.3f\n"
"S: Render=%2.3f, Setup=%2.3f\n" "S: Render=%2.3f, Setup=%2.3f\n"
"2D: %2.3f Finish3D: %2.3f\n" "2D: %2.3f Finish3D: %2.3f\n"
"All=%2.3f, Render=%2.3f, Setup=%2.3f, Portal=%2.3f, Drawcalls=%2.3f, Finish=%2.3f\n", "All=%2.3f, Render=%2.3f, Setup=%2.3f, Portal=%2.3f, Drawcalls=%2.3f, Postprocess=%2.3f, Finish=%2.3f\n",
bsp, clipwall, bsp, clipwall,
RenderWall.TimeMS(), setupwall, RenderWall.TimeMS(), setupwall,
RenderFlat.TimeMS(), SetupFlat.TimeMS(), RenderFlat.TimeMS(), SetupFlat.TimeMS(),
RenderSprite.TimeMS(), SetupSprite.TimeMS(), RenderSprite.TimeMS(), SetupSprite.TimeMS(),
twoD.TimeMS(), Flush3D.TimeMS() - twoD.TimeMS(), twoD.TimeMS(), Flush3D.TimeMS() - twoD.TimeMS(),
All.TimeMS() + Finish.TimeMS(), RenderAll.TimeMS(), ProcessAll.TimeMS(), PortalAll.TimeMS(), drawcalls.TimeMS(), Finish.TimeMS()); All.TimeMS() + Finish.TimeMS(), RenderAll.TimeMS(), ProcessAll.TimeMS(), PortalAll.TimeMS(), drawcalls.TimeMS(), PostProcess.TimeMS(), Finish.TimeMS());
} }
static void AppendRenderStats(FString &out) static void AppendRenderStats(FString &out)

View file

@ -9,7 +9,7 @@ extern glcycle_t RenderWall,SetupWall,ClipWall;
extern glcycle_t RenderFlat,SetupFlat; extern glcycle_t RenderFlat,SetupFlat;
extern glcycle_t RenderSprite,SetupSprite; extern glcycle_t RenderSprite,SetupSprite;
extern glcycle_t All, Finish, PortalAll, Bsp; extern glcycle_t All, Finish, PortalAll, Bsp;
extern glcycle_t ProcessAll; extern glcycle_t ProcessAll, PostProcess;
extern glcycle_t RenderAll; extern glcycle_t RenderAll;
extern glcycle_t Dirty; extern glcycle_t Dirty;
extern glcycle_t drawcalls, twoD, Flush3D; extern glcycle_t drawcalls, twoD, Flush3D;