mirror of
https://github.com/overte-org/overte.git
synced 2025-04-12 19:58:15 +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" };
|
||||
static ovrPerfHudMode currentDebugMode = ovrPerfHud_Off;
|
||||
|
||||
|
||||
OculusDisplayPlugin::OculusDisplayPlugin() {
|
||||
_appDroppedFrames.store(0);
|
||||
_compositorDroppedFrames.store(0);
|
||||
}
|
||||
|
||||
|
||||
bool OculusDisplayPlugin::internalActivate() {
|
||||
bool result = Parent::internalActivate();
|
||||
currentDebugMode = ovrPerfHud_Off;
|
||||
|
@ -158,15 +165,18 @@ void OculusDisplayPlugin::hmdPresent() {
|
|||
compositorDroppedFrames = frameStats.CompositorDroppedFrameCount;
|
||||
appDroppedFrames = frameStats.AppDroppedFrameCount;
|
||||
}
|
||||
_hardwareStats["app_dropped_frame_count"] = appDroppedFrames;
|
||||
_hardwareStats["compositor_dropped_frame_count"] = compositorDroppedFrames;
|
||||
_appDroppedFrames.store(appDroppedFrames);
|
||||
_compositorDroppedFrames.store(compositorDroppedFrames);
|
||||
}
|
||||
_presentRate.increment();
|
||||
}
|
||||
|
||||
|
||||
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 {
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
class OculusDisplayPlugin : public OculusBaseDisplayPlugin {
|
||||
using Parent = OculusBaseDisplayPlugin;
|
||||
public:
|
||||
OculusDisplayPlugin();
|
||||
~OculusDisplayPlugin();
|
||||
const QString getName() const override { return NAME; }
|
||||
|
||||
|
@ -36,6 +37,7 @@ private:
|
|||
gpu::FramebufferPointer _outputFramebuffer;
|
||||
bool _customized { false };
|
||||
|
||||
QJsonObject _hardwareStats;
|
||||
std::atomic_int _compositorDroppedFrames;
|
||||
std::atomic_int _appDroppedFrames;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue