Visiting http://planet.gnome.org/ Some of the text content seems to get rendered in a very small area near the top left of the window, overlapping previous text output. This happens during the first half a second or so of page loading, after which the page is re-rendered, correctly this time. This causes some slowdown on mobile devices, though it can be easily observed on desktop systems. Other ports are reported not to suffer from this issue.
Created attachment 14892 [details] Screenshot of the bad rendering This screenshot was taken in the split second during which the rendering is jumbled during initial page load.
It's worth noting that this issue happens on other pages too, not just the site mentioned.
I have observed this as well. Currently I'm tempted to blame CURL. What we could try is to save the website+resources as files (adjust the html to refer to the images relative) and see if we have this rendering issue as well. I will add this to my agenda but feel free to beat me. My hypothesis is: The CURL ResourceHandleManager is not loading fast enough and we have some sort of partial layouting+rendering. By trying file based loading we could partly confirm this.
This is due ScrollView::resizeContent generating an expose event which will draw the incomplete site. The fix would disable generating expose signals..
Created attachment 15523 [details] Update the scrollbars once when ScrollView::update gets called Fix jumbled text by updating the scrollbars on ScrollView::update. The theory is we will generate less expose events, so FrameGdk.cpp will less often paint and we don't force the RenderTree to layout.
Comment on attachment 15523 [details] Update the scrollbars once when ScrollView::update gets called Tiny nitpicks: "lead to less often layouting" - there's no such word as layouting in English, layout is only a noun, not a verb. "lead to laying out less often" would be the way to say it. + if (m_data->scrollBarsNeedUpdate) { + updateScrollbars(); + } Shouldn't be braces here. You can fix these before committing, otherwise r=me.
Landed in r24321.