mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 07:27:04 +02:00
Make getHardwareStats thread safe
This commit is contained in:
parent
f46b8f3e6d
commit
e5901fa875
2 changed files with 16 additions and 4 deletions
|
@ -22,6 +22,13 @@
|
||||||
const char* OculusDisplayPlugin::NAME { "Oculus Rift" };
|
const char* OculusDisplayPlugin::NAME { "Oculus Rift" };
|
||||||
static ovrPerfHudMode currentDebugMode = ovrPerfHud_Off;
|
static ovrPerfHudMode currentDebugMode = ovrPerfHud_Off;
|
||||||
|
|
||||||
|
|
||||||
|
OculusDisplayPlugin::OculusDisplayPlugin() {
|
||||||
|
_appDroppedFrames.store(0);
|
||||||
|
_compositorDroppedFrames.store(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool OculusDisplayPlugin::internalActivate() {
|
bool OculusDisplayPlugin::internalActivate() {
|
||||||
bool result = Parent::internalActivate();
|
bool result = Parent::internalActivate();
|
||||||
currentDebugMode = ovrPerfHud_Off;
|
currentDebugMode = ovrPerfHud_Off;
|
||||||
|
@ -158,15 +165,18 @@ void OculusDisplayPlugin::hmdPresent() {
|
||||||
compositorDroppedFrames = frameStats.CompositorDroppedFrameCount;
|
compositorDroppedFrames = frameStats.CompositorDroppedFrameCount;
|
||||||
appDroppedFrames = frameStats.AppDroppedFrameCount;
|
appDroppedFrames = frameStats.AppDroppedFrameCount;
|
||||||
}
|
}
|
||||||
_hardwareStats["app_dropped_frame_count"] = appDroppedFrames;
|
_appDroppedFrames.store(appDroppedFrames);
|
||||||
_hardwareStats["compositor_dropped_frame_count"] = compositorDroppedFrames;
|
_compositorDroppedFrames.store(compositorDroppedFrames);
|
||||||
}
|
}
|
||||||
_presentRate.increment();
|
_presentRate.increment();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
QJsonObject OculusDisplayPlugin::getHardwareStats() const {
|
QJsonObject OculusDisplayPlugin::getHardwareStats() const {
|
||||||
return _hardwareStats;
|
QJsonObject hardwareStats;
|
||||||
|
hardwareStats["app_dropped_frame_count"] = _appDroppedFrames.load();
|
||||||
|
hardwareStats["compositor_dropped_frame_count"] = _compositorDroppedFrames.load();
|
||||||
|
return hardwareStats;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OculusDisplayPlugin::isHmdMounted() const {
|
bool OculusDisplayPlugin::isHmdMounted() const {
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
class OculusDisplayPlugin : public OculusBaseDisplayPlugin {
|
class OculusDisplayPlugin : public OculusBaseDisplayPlugin {
|
||||||
using Parent = OculusBaseDisplayPlugin;
|
using Parent = OculusBaseDisplayPlugin;
|
||||||
public:
|
public:
|
||||||
|
OculusDisplayPlugin();
|
||||||
~OculusDisplayPlugin();
|
~OculusDisplayPlugin();
|
||||||
const QString getName() const override { return NAME; }
|
const QString getName() const override { return NAME; }
|
||||||
|
|
||||||
|
@ -36,6 +37,7 @@ private:
|
||||||
gpu::FramebufferPointer _outputFramebuffer;
|
gpu::FramebufferPointer _outputFramebuffer;
|
||||||
bool _customized { false };
|
bool _customized { false };
|
||||||
|
|
||||||
QJsonObject _hardwareStats;
|
std::atomic_int _compositorDroppedFrames;
|
||||||
|
std::atomic_int _appDroppedFrames;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue