Add high-FPS render pacing and telemetry
Some checks failed
build / Windows Build (push) Has been cancelled
Some checks failed
build / Windows Build (push) Has been cancelled
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "eterLib/Input.h"
|
||||
#include "eterLib/Profiler.h"
|
||||
#include "eterLib/GrpDevice.h"
|
||||
#include "EterLib/GrpTextInstance.h"
|
||||
#include "eterLib/NetDevice.h"
|
||||
#include "eterLib/GrpLightManager.h"
|
||||
#include "eterLib/GameThreadPool.h"
|
||||
@@ -42,7 +43,13 @@
|
||||
#include "AbstractApplication.h"
|
||||
#include "MovieMan.h"
|
||||
|
||||
#include <qedit.h>
|
||||
struct IGraphBuilder;
|
||||
struct IBaseFilter;
|
||||
struct ISampleGrabber;
|
||||
struct IMediaControl;
|
||||
struct IMediaEventEx;
|
||||
struct IVideoWindow;
|
||||
struct IBasicVideo;
|
||||
|
||||
class CPythonApplication : public CMSApplication, public CInputKeyboard, public IAbstractApplication
|
||||
{
|
||||
@@ -206,6 +213,7 @@ class CPythonApplication : public CMSApplication, public CInputKeyboard, public
|
||||
float GetPitch();
|
||||
|
||||
void SetFPS(int iFPS);
|
||||
void SetPerformanceHUDVisible(bool isVisible);
|
||||
void SetServerTime(time_t tTime);
|
||||
time_t GetServerTime();
|
||||
time_t GetServerTimeStamp();
|
||||
@@ -303,6 +311,12 @@ class CPythonApplication : public CMSApplication, public CInputKeyboard, public
|
||||
BOOL __IsContinuousChangeTypeCursor(int iCursorNum);
|
||||
|
||||
void __UpdateCamera();
|
||||
void ApplyRenderInterpolation();
|
||||
bool IsRenderTelemetrySamplingEnabled() const;
|
||||
void InitializeRenderRuntimeOverrides();
|
||||
void ResetRenderTelemetryWindow(DWORD dwNow);
|
||||
void FlushRenderTelemetryWindow(DWORD dwNow);
|
||||
void RenderPerformanceHUD();
|
||||
|
||||
void __SetFullScreenWindow(HWND hWnd, DWORD dwWidth, DWORD dwHeight, DWORD dwBPP);
|
||||
void __MinimizeFullScreenWindow(HWND hWnd, DWORD dwWidth, DWORD dwHeight);
|
||||
@@ -357,9 +371,28 @@ class CPythonApplication : public CMSApplication, public CInputKeyboard, public
|
||||
|
||||
PyObject * m_poMouseHandler;
|
||||
D3DXVECTOR3 m_v3CenterPosition;
|
||||
D3DXVECTOR3 m_v3LastCenterPosition;
|
||||
CGraphicTextInstance m_kRenderTelemetryTextLine;
|
||||
std::string m_stRenderTelemetrySummary;
|
||||
|
||||
unsigned int m_iFPS;
|
||||
float m_fRenderInterpolationFactor;
|
||||
float m_fAveRenderTime;
|
||||
bool m_bRenderTelemetryEnabled;
|
||||
bool m_bRenderTelemetryHudVisible;
|
||||
DWORD m_dwRenderTelemetryIntervalMS;
|
||||
DWORD m_dwRenderTelemetryWindowStartMS;
|
||||
DWORD m_dwRenderTelemetryLoopCount;
|
||||
DWORD m_dwRenderTelemetryUpdateCount;
|
||||
DWORD m_dwRenderTelemetryRenderCount;
|
||||
DWORD m_dwRenderTelemetryBlockedRenderCount;
|
||||
DWORD m_dwRenderTelemetryLastPresentTime;
|
||||
DWORD m_dwRenderTelemetryPresentGapSamples;
|
||||
double m_fRenderTelemetryUpdateTimeSumMS;
|
||||
double m_fRenderTelemetryRenderTimeSumMS;
|
||||
double m_fRenderTelemetrySleepTimeSumMS;
|
||||
double m_fRenderTelemetryInterpolationSum;
|
||||
double m_fRenderTelemetryPresentGapSumMS;
|
||||
DWORD m_dwCurRenderTime;
|
||||
DWORD m_dwCurUpdateTime;
|
||||
DWORD m_dwLoad;
|
||||
|
||||
Reference in New Issue
Block a user