[Interest] Tearing in Quick2 flickable-based items with clipping enabled
Ola Røer Thorsen
ola at silentwings.no
Thu Nov 14 11:24:32 CET 2013
Hi again, digging further into this reveals some issues with the PowerVR
SGX530 (Omap3) when using the flip mode. So it's not Qt. Sorry for the
Seems like it only happens at 60Hz. Will there be an option in 5.2 to set
the swap interval, or did it end up in 5.3? I'd probably go for a steady
30Hz instead of a 30-60 mix with the occasional tearing.
2013/11/13 Ola Røer Thorsen <ola at silentwings.no>
> Hi Gunnar, I'll see if I can create a small example that reproduces it.
> 2013/11/13 Sletta Gunnar <Gunnar.Sletta at digia.com>
>> If this consistently reproducible across desktop and device, then I
>> would appreciate a bugreport with an example that reproduces it. It is not
>> a known issue to me at least. (bugreports.qt-project.org)
>> Clipping is implemented using scissor or stencil depending on the
>> complexity of the mask, no intermediate texture is involved.
>> *Fra:* interest-bounces+gunnar.sletta=digia.com at qt-project.org[interest-bounces+gunnar.sletta=
>> digia.com at qt-project.org] på vegne av Ola Røer Thorsen [
>> ola at silentwings.no]
>> *Sendt:* 13. november 2013 15:29
>> *To:* interest at qt-project.org
>> *Emne:* [Interest] Tearing in Quick2 flickable-based items with clipping
>> Hi all,
>> I'm seeing tearing-effects when scrolling in ListView and other items
>> based on Flickable when clipping is enabled. This is running on both a
>> Linux desktop as well as an embedded Linux device (eglfs). The Qt version
>> is 5.1.1.
>> The systems are running with vsync enabled and double-buffering. There
>> is no tearing in any other items except the ones with clipping enabled.
>> Tearing is especially noticeable on the embedded device. The GPU is a
>> PowerVR SGX chip which is tile-based, so the tearing "lines" are actually
>> vertical. Also the framerate is mostly somewhere between 30-60.
>> Tearing appears maybe 20% of the time spent scrolling.
>> I'm wondering if the core issue is this:
>> I assume clipping is implemented as rendering the item into a temporary
>> texture, and the clipped area is of this is finally rendered to the screen
>> buffer. This temporary texture is not double-buffered. This means it would
>> be possible that the render pipeline starts writing into a texture (next
>> frame) that is being drawing into the screen buffer (current frame).
>> Any thoughts? The tearing is really bad sometimes, and I don't really
>> have the option of disabling clipping either.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest