-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate using QtQuick's 2D renderer #367
Comments
To take it into use, build the render2d plugin, install it, and set QMLSCENE_DEVICE=softwarecontext when launching the process. Caveats: rendering will not be 100% identical to OpenGL-rendered quick (there's some subtle differences in a lot of different places), but they are quite close. I've tried this with Ricochet myself already and had fairly good results. |
Qt requirement will be 5.6 at a minimum to use this. There is a 5.6 branch available: https://github.com/qtproject/qtdeclarative-render2d/tree/5.6 5.8+ (I think) will gain partial update support, meaning the entire window won't rerender when something changes, only the part that actually changed, but this isn't really important for desktop use. |
Just fyi, debian testing is currently at 5.5 and stable is at 5.3. |
Yep. As it's an optional addon, and only of concern for the "official" static build here, that isn't a worry. The version bump won't affect self-built copies or distributions unless they want to tackle that themselves - 5.6 is only a necessity if you want this fix in other words :) |
This renderer is used by default with #474, which is going into the 1.1.4 release. 1.1.4 will also contain the renderer plugin for all distributed binaries. |
We've been facing a large number of problems with OpenGL usage over time (see references at the bottom). An unfortunate fact of life is that OpenGL is not as stable or widely available as many developer types would like, this is especially true when looking at the situation across platforms (Windows), or on specialised setups (virtual machines), etc.
QtQuick has a 2D renderer which can be used to render with software instead of OpenGL: http://doc.qt.io/QtQuick2DRenderer/index.html
This was previously commercial-only, but is now available under the GPL license: https://github.com/qtproject/qtdeclarative-render2d
We should consider whether we can take this into use in release builds easily to provide a better (more stable) experience.
It may also be useful from a security angle: no more direct access to GPU would be required.
References: #331, #328, #365, #358, #348. Probably more :)
The text was updated successfully, but these errors were encountered: