qt: add setting to adjust quick text render type
An advanced setting like this makes it possible to use a certain text rasterization method. If the default render type poses a problem, the user can pick another one. Or, if the user prefers native looking text, they can choose the native render type.
The documentation states that:
This enum describes the default render type of text-like elements in Qt Quick (Text, TextInput, etc.).
Select NativeTextRendering if you prefer text to look native on the target platform and do not require advanced features such as transformation of the text. Using such features in combination with the NativeTextRendering render type will lend poor and sometimes pixelated results.
Both QtTextRendering and CurveTextRendering are hardware-accelerated techniques. QtTextRendering is the faster of the two, but uses more memory and will exhibit rendering artifacts at large sizes. CurveTextRendering should be considered as an alternative in cases where QtTextRendering does not give good visual results or where reducing graphics memory consumption is a priority.
Related to #28690.
Merge request reports
Activity
changed milestone to %4.0
added Component::Interface: Qt label
added MRStatus::Reviewable label
I'd really wish to not have such a setting. did you investigate what was causing the rendering issues of #28690?
- Is it due to fractional font size? or fractional positioning (I remember this !688 (merged))
- Do we know what configuration leads to such a result (do we have this on windows?)
- Is it a Qt bug that's fixed in newer releases?
- We don't use (geometric) transformations, so I guess we're not affected by the poor rendering with native rendering (maybe subpixel rendering though), would it make sens to force it to native rendering (I'd prefer not to, but if only this works correctly...)
Actually, I did not come up with this merge request to fix #28690. I rather wanted to provide an option for users who want to use
NativeTextRendering
.Regarding #28690, I was initially thinking that it had something to do with layered items. Qt has a major flaw that framebuffers need to have integer size, but in Quick sizes can be floating-point number. This sometimes causes weird looking items. I experienced this before with the play queue with its fading edge effect, and tried to fix it (it still seems not fully fixed).
As far as I know, the effect in the main view is only enabled when the mini player is visible, but #28690 reportedly also happens when the mini player is hidden. So, I'm not sure what is wrong with that.
Follow up @chub? I really don't see what's wrong with having a setting as long as Qt does not offer an environment variable to adjust this. In some conditions, native rendering may offer better readability, which is important for accessibility.
I think that we should have settings for things that matters, not for every tweakable aspect of Qt engine
I don't think Qt's own rendering respects ClearType configuration. We really need to proceed with this, this is really an important configuration.
https://developer.chrome.com/blog/better-text-rendering-in-chromium-based-browsers-on-windows
added MRStatus::InReview label and removed MRStatus::Reviewable label
added MRStatus::NotCompliant label and removed MRStatus::InReview label
added 3187 commits
-
cc80f046...3f9d7ff7 - 3186 commits from branch
videolan:master
- c556bbe6 - qt: introduce setting `qt-quick-text-render-type`
-
cc80f046...3f9d7ff7 - 3186 commits from branch
added MRStatus::InReview label and removed MRStatus::NotCompliant label
added MRStatus::NotCompliant label and removed MRStatus::InReview label