From 6380a88687534f241d8c882148abd2fb3faa0b2f Mon Sep 17 00:00:00 2001 From: Stefan Hacker Date: Thu, 29 Apr 2010 15:28:05 +0200 Subject: Transmit fps more often and represent them as float --- overlay/d3d10.cpp | 6 +++--- overlay/d3d9.cpp | 4 ++-- overlay/opengl.cpp | 4 ++-- overlay/overlay.h | 4 +++- 4 files changed, 10 insertions(+), 8 deletions(-) (limited to 'overlay') diff --git a/overlay/d3d10.cpp b/overlay/d3d10.cpp index 0d0ee7ea3..f2f131077 100644 --- a/overlay/d3d10.cpp +++ b/overlay/d3d10.cpp @@ -152,7 +152,7 @@ void D10State::blit(unsigned int x, unsigned int y, unsigned int w, unsigned int UCHAR* pTexels = (UCHAR*)mappedTex.pData; - for (int r=0;r< uiHeight; ++r) { + for (unsigned int r=0;r< uiHeight; ++r) { unsigned char *sptr = a_ucTexture + r * uiWidth * 4; unsigned char *dptr = reinterpret_cast(pTexels) + r * mappedTex.RowPitch; memcpy(dptr, sptr, uiWidth * 4); @@ -387,12 +387,12 @@ void D10State::draw() { clock_t t = clock(); float elapsed = static_cast(t - timeT) / CLOCKS_PER_SEC; ++frameCount; - if (elapsed > 1.0) { // Send FPS update every second + if (elapsed > OVERLAY_FPS_INTERVAL) { OverlayMsg om; om.omh.uiMagic = OVERLAY_MAGIC_NUMBER; om.omh.uiType = OVERLAY_MSGTYPE_FPS; om.omh.iLength = sizeof(OverlayMsgFps); - om.omf.fps = static_cast(frameCount * elapsed); + om.omf.fps = frameCount / elapsed; sendMessage(om); diff --git a/overlay/d3d9.cpp b/overlay/d3d9.cpp index 3790958a1..aa6bce690 100644 --- a/overlay/d3d9.cpp +++ b/overlay/d3d9.cpp @@ -202,12 +202,12 @@ void DevState::draw() { clock_t t = clock(); float elapsed = static_cast(t - timeT) / CLOCKS_PER_SEC; ++frameCount; - if (elapsed > 1.0) { + if (elapsed > OVERLAY_FPS_INTERVAL) { OverlayMsg om; om.omh.uiMagic = OVERLAY_MAGIC_NUMBER; om.omh.uiType = OVERLAY_MSGTYPE_FPS; om.omh.iLength = sizeof(OverlayMsgFps); - om.omf.fps = static_cast(frameCount * elapsed); + om.omf.fps = frameCount / elapsed; sendMessage(om); diff --git a/overlay/opengl.cpp b/overlay/opengl.cpp index 9392b45d7..460743e56 100644 --- a/overlay/opengl.cpp +++ b/overlay/opengl.cpp @@ -243,12 +243,12 @@ void Context::draw(HDC hdc) { clock_t t = clock(); float elapsed = static_cast(t - timeT) / CLOCKS_PER_SEC; ++frameCount; - if (elapsed > 1.0) { + if (elapsed > OVERLAY_FPS_INTERVAL) { OverlayMsg om; om.omh.uiMagic = OVERLAY_MAGIC_NUMBER; om.omh.uiType = OVERLAY_MSGTYPE_FPS; om.omh.iLength = sizeof(OverlayMsgFps); - om.omf.fps = static_cast(frameCount * elapsed); + om.omf.fps = frameCount / elapsed; sendMessage(om); diff --git a/overlay/overlay.h b/overlay/overlay.h index 636e109e8..df8de66b1 100644 --- a/overlay/overlay.h +++ b/overlay/overlay.h @@ -67,8 +67,10 @@ struct OverlayMsgPid { #define OVERLAY_MSGTYPE_FPS 5 struct OverlayMsgFps { - unsigned int fps; + float fps; }; +#define OVERLAY_FPS_INTERVAL 0.25f + struct OverlayMsg { union { -- cgit v1.2.3