I ran the browser with QSG_RENDER_TIMING=1, and I see timings like this: qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 30ms, sync=0, render=2, swap=28 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=14, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 39ms, sync=0, render=1, swap=37 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=27, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 39ms, sync=0, render=1, swap=37 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=25, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=4ms, preprocess=0, updates=0, binding=2, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 39ms, sync=0, render=5, swap=34 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=26, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 40ms, sync=0, render=1, swap=38 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=29, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=3ms, preprocess=0, updates=0, binding=0, rendering=3 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 27ms, sync=2, render=4, swap=21 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=10, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 25ms, sync=0, render=2, swap=22 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=10, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 34ms, sync=0, render=1, swap=32 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=19, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=4ms, preprocess=0, updates=0, binding=0, rendering=4 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 32ms, sync=0, render=5, swap=27 - (on render thread) qt.scenegraph.time.renderer: time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1 qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=19, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 27ms, sync=0, render=1, swap=25 - (on render thread) qt.scenegraph.time.renderloop: Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=12, animations=0 - (on Gui thread) BrowserWindow_QMLTYPE_1_QML_207(0xab14ee20) qt.scenegraph.time.renderer: time in renderer: total=2ms, preprocess=0, updates=0, binding=0, rendering=2 qt.scenegraph.time.renderloop: Frame rendered with 'threaded' renderloop in 25ms, sync=0, render=3, swap=22 - (on render thread)
It looks like the main thread blocks regularly (see the blockedForSync timings), confirming my suspicion in comment 8. This is probably because the render thread is blocked in eglSwapBuffers (often for more than 16ms), and the main thread is the one that initiates a sync by posting a task to the render thread and then waiting for it to complete. I think I'm convinced the main issues here aren't Oxide bugs. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to webbrowser-app in Ubuntu. https://bugs.launchpad.net/bugs/1550371 Title: Webbrowser slow scroll and artifact rendering on freiza Status in Canonical System Image: Confirmed Status in Oxide: Invalid Status in webbrowser-app package in Ubuntu: Invalid Bug description: Copied from private avila bug: https://bugs.launchpad.net/avila-private/+bug/1547569 STEPS: 1. Install the latest image 2. Open the browser 3. Goto ubuntu.com 4. Wait for the page to load 5. Scroll the page EXPECT Smooth scrolling and rendering as seen on arale and krillin ACTUAL: Very slow render time on most site with a lot of content Scrolling is glitchy and seems to want to fresh render each page as it is scrolled This is most prominently seen on ubuntu.com but also ebay and amazon webapps. Webbrowser seems to display the issue the most although I beleive it is more likely to be the graphics stack somewhere, tvoss believe that perfservice will hopefully solve the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1550371/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp