diff --git a/interface/src/ui/overlays/Web3DOverlay.cpp b/interface/src/ui/overlays/Web3DOverlay.cpp index be564a768e..86f062aba9 100644 --- a/interface/src/ui/overlays/Web3DOverlay.cpp +++ b/interface/src/ui/overlays/Web3DOverlay.cpp @@ -79,6 +79,9 @@ void Web3DOverlay::render(RenderArgs* args) { }); }; _webSurface = QSharedPointer(new OffscreenQmlSurface(), deleter); + // FIXME, the max FPS could be better managed by being dynamic (based on the number of current surfaces + // and the current rendering load) + _webSurface->setMaxFps(10); _webSurface->create(currentContext); _webSurface->setBaseUrl(QUrl::fromLocalFile(PathUtils::resourcesPath() + "/qml/controls/")); _webSurface->load("WebView.qml"); diff --git a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp index bea3e6a0de..3f8b9e4c04 100644 --- a/libraries/entities-renderer/src/RenderableWebEntityItem.cpp +++ b/libraries/entities-renderer/src/RenderableWebEntityItem.cpp @@ -95,11 +95,14 @@ bool RenderableWebEntityItem::buildWebSurface(EntityTreeRenderer* renderer) { }; _webSurface = QSharedPointer(new OffscreenQmlSurface(), deleter); + // FIXME, the max FPS could be better managed by being dynamic (based on the number of current surfaces + // and the current rendering load) + _webSurface->setMaxFps(10); + // The lifetime of the QML surface MUST be managed by the main thread // Additionally, we MUST use local variables copied by value, rather than // member variables, since they would implicitly refer to a this that // is no longer valid - _webSurface->create(currentContext); _webSurface->setBaseUrl(QUrl::fromLocalFile(PathUtils::resourcesPath() + "/qml/controls/")); _webSurface->load("WebView.qml", [&](QQmlContext* context, QObject* obj) {