I added a few trace events in Oxide earlier that would aid debugging in chrome://tracing/. Unfortunately, there's no way to save the trace from the browser for offline viewing (as it's incompatible with the way we do downloads) and I can't take a screenshot of it because screenshots on Freiza are broken.
I'll try to describe the first main observation: 1) After the webview compositor has finished producing a frame, it calls in to oxide::CompositorSingleThreadProxy::SwapCompositorFrame. 2) At this point, we insert a fence in the command stream and flush. 3) After the fence is signalled, we run oxide::CompositorSingleThreadProxy::ContinueSwapGLFrame. 4) This ends up entering QQuickItem::update for the webview, which schedules a sync. 5) At the end of the sync (OxideQQuickWebView::updatePaintNode), we call back in to the webview compositor to notify it that the swap has completed and that the old buffer can be used as the back buffer. I've added a trace event to time how long it takes to get from 2 to 3 - it's currently ~5-6ms. This is basically how long it takes the GPU service to execute the commands that were just flushed for compositing the webview, and isn't particularly out of the ordinary. I've also added a trace event to time between 4 and 5, which is basically timing how long it takes between scheduling an update and the sync completing, and I'm seeing regular delays of up to 30ms. Within 5ms of scheduling an update (calling QQuickItem::update), the main thread appears to be completely blocked (although, I am only looking at compositor events in chrome://tracing/). Whilst there are optimizations we can work in Oxide, the main bottleneck here appears to be something else. -- 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: Triaged 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