History

Make getHardwareStats thread safe

Atlante45 committed 9 years ago

Commit e5901fa1 parent f46b8f32 files · +16 −4Browse files

Showing the changes to plugins/oculus/src/OculusDisplayPlugin.cpp (1 of 2 files). Show all

Unified · Split

plugins/oculus/src/OculusDisplayPlugin.cpp+13−3
@@ -22,6 +22,13 @@ · 21 unmodified lines
2222 const char* OculusDisplayPlugin::NAME { "Oculus Rift" };
2323 static ovrPerfHudMode currentDebugMode = ovrPerfHud_Off;
2424
25+
26+OculusDisplayPlugin::OculusDisplayPlugin() {
27+ _appDroppedFrames.store(0);
28+ _compositorDroppedFrames.store(0);
29+}
30+
31+
2532 bool OculusDisplayPlugin::internalActivate() {
2633 bool result = Parent::internalActivate();
2734 currentDebugMode = ovrPerfHud_Off;
@@ -158,15 +165,18 @@ void OculusDisplayPlugin::hmdPresent() { · 130 unmodified lines
158165 compositorDroppedFrames = frameStats.CompositorDroppedFrameCount;
159166 appDroppedFrames = frameStats.AppDroppedFrameCount;
160167 }
161− _hardwareStats["app_dropped_frame_count"] = appDroppedFrames;
162− _hardwareStats["compositor_dropped_frame_count"] = compositorDroppedFrames;
168+ _appDroppedFrames.store(appDroppedFrames);
169+ _compositorDroppedFrames.store(compositorDroppedFrames);
163170 }
164171 _presentRate.increment();
165172 }
166173
167174
168175 QJsonObject OculusDisplayPlugin::getHardwareStats() const {
169− return _hardwareStats;
176+ QJsonObject hardwareStats;
177+ hardwareStats["app_dropped_frame_count"] = _appDroppedFrames.load();
178+ hardwareStats["compositor_dropped_frame_count"] = _compositorDroppedFrames.load();
179+ return hardwareStats;
170180 }
171181
172182 bool OculusDisplayPlugin::isHmdMounted() const {