effect updating moved to update from render & rendering performance checker removed

This commit is contained in:
d1str4ught
2025-08-25 22:29:58 +02:00
parent 67475fde15
commit d8f6f0ea6b
2 changed files with 22 additions and 160 deletions

View File

@@ -162,89 +162,21 @@ void CPythonApplication::Exit()
PostQuitMessage(0);
}
bool PERF_CHECKER_RENDER_GAME = false;
void CPythonApplication::RenderGame()
{
if (!PERF_CHECKER_RENDER_GAME)
{
float fAspect=m_kWndMgr.GetAspect();
float fFarClip=m_pyBackground.GetFarClip();
m_pyGraphic.SetPerspective(30.0f, fAspect, 100.0, fFarClip);
CCullingManager::Instance().Process();
m_kChrMgr.Deform();
m_kEftMgr.Update();
m_pyBackground.RenderCharacterShadowToTexture();
m_pyGraphic.SetGameRenderState();
m_pyGraphic.PushState();
{
long lx, ly;
m_kWndMgr.GetMousePosition(lx, ly);
m_pyGraphic.SetCursorPosition(lx, ly);
}
m_pyBackground.RenderSky();
m_pyBackground.RenderBeforeLensFlare();
m_pyBackground.RenderCloud();
m_pyBackground.BeginEnvironment();
m_pyBackground.Render();
m_pyBackground.SetCharacterDirLight();
m_kChrMgr.Render();
m_pyBackground.SetBackgroundDirLight();
m_pyBackground.RenderWater();
m_pyBackground.RenderSnow();
m_pyBackground.RenderEffect();
m_pyBackground.EndEnvironment();
m_kEftMgr.Render();
m_pyItem.Render();
m_FlyingManager.Render();
m_pyBackground.BeginEnvironment();
m_pyBackground.RenderPCBlocker();
m_pyBackground.EndEnvironment();
m_pyBackground.RenderAfterLensFlare();
return;
}
//if (GetAsyncKeyState(VK_Z))
// STATEMANAGER.SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);
DWORD t1=ELTimer_GetMSec();
m_kChrMgr.Deform();
DWORD t2=ELTimer_GetMSec();
m_kEftMgr.Update();
DWORD t3=ELTimer_GetMSec();
m_pyBackground.RenderCharacterShadowToTexture();
DWORD t4=ELTimer_GetMSec();
m_pyGraphic.SetGameRenderState();
m_pyGraphic.PushState();
float fAspect=m_kWndMgr.GetAspect();
float fFarClip=m_pyBackground.GetFarClip();
{
float fAspect = m_kWndMgr.GetAspect();
float fFarClip = m_pyBackground.GetFarClip();
m_pyGraphic.SetPerspective(30.0f, fAspect, 100.0, fFarClip);
DWORD t5=ELTimer_GetMSec();
CCullingManager::Instance().Process();
DWORD t6=ELTimer_GetMSec();
m_kChrMgr.Deform();
m_pyBackground.RenderCharacterShadowToTexture();
m_pyGraphic.SetGameRenderState();
m_pyGraphic.PushState();
{
long lx, ly;
@@ -253,79 +185,42 @@ void CPythonApplication::RenderGame()
}
m_pyBackground.RenderSky();
DWORD t7=ELTimer_GetMSec();
m_pyBackground.RenderBeforeLensFlare();
DWORD t8=ELTimer_GetMSec();
m_pyBackground.RenderCloud();
DWORD t9=ELTimer_GetMSec();
m_pyBackground.BeginEnvironment();
m_pyBackground.Render();
m_pyBackground.SetCharacterDirLight();
DWORD t10=ELTimer_GetMSec();
m_kChrMgr.Render();
DWORD t11=ELTimer_GetMSec();
m_pyBackground.SetBackgroundDirLight();
m_pyBackground.RenderWater();
DWORD t12=ELTimer_GetMSec();
m_pyBackground.RenderSnow();
m_pyBackground.RenderEffect();
DWORD t13=ELTimer_GetMSec();
m_pyBackground.EndEnvironment();
m_kEftMgr.Render();
DWORD t14=ELTimer_GetMSec();
m_pyItem.Render();
DWORD t15=ELTimer_GetMSec();
m_FlyingManager.Render();
DWORD t16=ELTimer_GetMSec();
m_pyBackground.BeginEnvironment();
m_pyBackground.RenderPCBlocker();
m_pyBackground.EndEnvironment();
DWORD t17=ELTimer_GetMSec();
m_pyBackground.RenderAfterLensFlare();
DWORD t18=ELTimer_GetMSec();
DWORD tEnd=ELTimer_GetMSec();
if (GetAsyncKeyState(VK_Z))
STATEMANAGER.SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID);
if (tEnd-t1<3)
return;
static FILE* fp=fopen("perf_game_render.txt", "w");
fprintf(fp, "GR.Total %d (Time %d)\n", tEnd-t1, ELTimer_GetMSec());
fprintf(fp, "GR.DFM %d\n", t2-t1);
fprintf(fp, "GR.EFT.UP %d\n", t3-t2);
fprintf(fp, "GR.SHW %d\n", t4-t3);
fprintf(fp, "GR.STT %d\n", t5-t4);
fprintf(fp, "GR.CLL %d\n", t6-t5);
fprintf(fp, "GR.BG.SKY %d\n", t7-t6);
fprintf(fp, "GR.BG.LEN %d\n", t8-t7);
fprintf(fp, "GR.BG.CLD %d\n", t9-t8);
fprintf(fp, "GR.BG.MAIN %d\n", t10-t9);
fprintf(fp, "GR.CHR %d\n", t11-t10);
fprintf(fp, "GR.BG.WTR %d\n", t12-t11);
fprintf(fp, "GR.BG.EFT %d\n", t13-t12);
fprintf(fp, "GR.EFT %d\n", t14-t13);
fprintf(fp, "GR.ITM %d\n", t15-t14);
fprintf(fp, "GR.FLY %d\n", t16-t15);
fprintf(fp, "GR.BG.BLK %d\n", t17-t16);
fprintf(fp, "GR.BG.LEN %d\n", t18-t17);
fflush(fp);
}
void CPythonApplication::UpdateGame()
{
DWORD t1=ELTimer_GetMSec();
POINT ptMouse;
GetMousePosition(&ptMouse);
CGraphicTextInstance::Hyperlink_UpdateMousePos(ptMouse.x, ptMouse.y);
DWORD t2=ELTimer_GetMSec();
//!@# Alt+Tab Áß SetTransfor ¿¡¼­ ƨ±è Çö»ó ÇØ°áÀ» À§ÇØ - [levites]
//if (m_isActivateWnd)
@@ -338,56 +233,27 @@ void CPythonApplication::UpdateGame()
s.BuildViewFrustum();
}
DWORD t3=ELTimer_GetMSec();
TPixelPosition kPPosMainActor;
m_pyPlayer.NEW_GetMainActorPosition(&kPPosMainActor);
DWORD t4=ELTimer_GetMSec();
m_pyBackground.Update(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);
DWORD t5=ELTimer_GetMSec();
m_GameEventManager.SetCenterPosition(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);
m_GameEventManager.Update();
DWORD t6=ELTimer_GetMSec();
m_kChrMgr.Update();
DWORD t7=ELTimer_GetMSec();
m_kChrMgr.Update();
m_kEftMgr.Update();
m_kEftMgr.UpdateSound();
DWORD t8=ELTimer_GetMSec();
m_FlyingManager.Update();
DWORD t9=ELTimer_GetMSec();
m_pyItem.Update(ptMouse);
DWORD t10=ELTimer_GetMSec();
m_pyPlayer.Update();
DWORD t11=ELTimer_GetMSec();
// NOTE : Update µ¿¾È À§Ä¡ °ªÀÌ ¹Ù²î¹Ç·Î ´Ù½Ã ¾ò¾î ¿É´Ï´Ù - [levites]
// ÀÌ ºÎºÐ ¶§¹®¿¡ ¸ÞÀÎ Äɸ¯ÅÍÀÇ Sound°¡ ÀÌÀü À§Ä¡¿¡¼­ Ç÷¹ÀÌ µÇ´Â Çö»óÀÌ ÀÖ¾úÀ½.
m_pyPlayer.NEW_GetMainActorPosition(&kPPosMainActor);
SetCenterPosition(kPPosMainActor.x, kPPosMainActor.y, kPPosMainActor.z);
DWORD t12=ELTimer_GetMSec();
if (PERF_CHECKER_RENDER_GAME)
{
if (t12-t1>5)
{
static FILE* fp=fopen("perf_game_update.txt", "w");
fprintf(fp, "GU.Total %d (Time %d)\n", t12-t1, ELTimer_GetMSec());
fprintf(fp, "GU.GMP %d\n", t2-t1);
fprintf(fp, "GU.SCR %d\n", t3-t2);
fprintf(fp, "GU.MPS %d\n", t4-t3);
fprintf(fp, "GU.BG %d\n", t5-t4);
fprintf(fp, "GU.GEM %d\n", t6-t5);
fprintf(fp, "GU.CHR %d\n", t7-t6);
fprintf(fp, "GU.EFT %d\n", t8-t7);
fprintf(fp, "GU.FLY %d\n", t9-t8);
fprintf(fp, "GU.ITM %d\n", t10-t9);
fprintf(fp, "GU.PLR %d\n", t11-t10);
fprintf(fp, "GU.POS %d\n", t12-t11);
fflush(fp);
}
}
}
void CPythonApplication::SkipRenderBuffering(DWORD dwSleepMSec)

View File

@@ -5,7 +5,6 @@
#include <stb_image.h>
extern bool PERF_CHECKER_RENDER_GAME;
extern D3DXCOLOR g_fSpecularColor;
extern BOOL bVisibleNotice = true;
extern BOOL bTestServerFlag = FALSE;
@@ -76,10 +75,7 @@ PyObject* appEnablePerformanceTime(PyObject* poSelf, PyObject* poArgs)
if (!PyTuple_GetInteger(poArgs, 1, &nEnable))
return Py_BuildException();
bool isEnable=nEnable ? true : false;
if (strcmp(szMode, "RENDER_GAME")==0)
PERF_CHECKER_RENDER_GAME = isEnable;
// TODO: remove this function
return Py_BuildNone();
}