mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-21 06:13:07 +01:00
Fixed CPU timer.
This commit is contained in:
@@ -3699,7 +3699,7 @@ namespace bgfx { namespace d3d9
|
||||
|
||||
updateResolution(_render->m_resolution);
|
||||
|
||||
int64_t elapsed = -bx::getHPCounter();
|
||||
int64_t timeBegin = bx::getHPCounter();
|
||||
int64_t captureElapsed = 0;
|
||||
|
||||
uint32_t frameQueryIdx = UINT32_MAX;
|
||||
@@ -4345,16 +4345,8 @@ namespace bgfx { namespace d3d9
|
||||
|
||||
PIX_ENDEVENT();
|
||||
|
||||
int64_t now = bx::getHPCounter();
|
||||
elapsed += now;
|
||||
|
||||
static int64_t last = now;
|
||||
|
||||
Stats& perfStats = _render->m_perfStats;
|
||||
perfStats.cpuTimeBegin = last;
|
||||
|
||||
int64_t frameTime = now - last;
|
||||
last = now;
|
||||
int64_t timeEnd = bx::getHPCounter();
|
||||
int64_t frameTime = timeEnd - timeBegin;
|
||||
|
||||
static int64_t min = frameTime;
|
||||
static int64_t max = frameTime;
|
||||
@@ -4379,7 +4371,9 @@ namespace bgfx { namespace d3d9
|
||||
|
||||
const int64_t timerFreq = bx::getHPFrequency();
|
||||
|
||||
perfStats.cpuTimeEnd = now;
|
||||
Stats& perfStats = _render->m_perfStats;
|
||||
perfStats.cpuTimeBegin = timeBegin;
|
||||
perfStats.cpuTimeEnd = timeEnd;
|
||||
perfStats.cpuTimerFreq = timerFreq;
|
||||
const TimerQueryD3D9::Result& result = m_gpuTimer.m_result[BGFX_CONFIG_MAX_VIEWS];
|
||||
perfStats.gpuTimeBegin = result.m_begin;
|
||||
@@ -4396,11 +4390,11 @@ namespace bgfx { namespace d3d9
|
||||
m_needPresent = true;
|
||||
TextVideoMem& tvm = m_textVideoMem;
|
||||
|
||||
static int64_t next = now;
|
||||
static int64_t next = timeEnd;
|
||||
|
||||
if (now >= next)
|
||||
if (timeEnd >= next)
|
||||
{
|
||||
next = now + timerFreq;
|
||||
next = timeEnd + timerFreq;
|
||||
|
||||
double freq = double(timerFreq);
|
||||
double toMs = 1000.0/freq;
|
||||
@@ -4434,7 +4428,7 @@ namespace bgfx { namespace d3d9
|
||||
, !!(m_resolution.m_flags&BGFX_RESET_MAXANISOTROPY) ? '\xfe' : ' '
|
||||
);
|
||||
|
||||
double elapsedCpuMs = double(elapsed)*toMs;
|
||||
double elapsedCpuMs = double(frameTime)*toMs;
|
||||
tvm.printf(10, pos++, 0x8e, " Submitted: %5d (draw %5d, compute %4d) / CPU %7.4f [ms] %c GPU %7.4f [ms] (latency %d)"
|
||||
, _render->m_num
|
||||
, statsKeyType[0]
|
||||
|
||||
Reference in New Issue
Block a user