Summary: | [GTK] Backing store support for faster scrolling | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Holger Freyther <zecke> | ||||
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | alp, gwright, marco.barisione, withsmilo, zaheer.mot | ||||
Priority: | P2 | Keywords: | Gtk, Performance | ||||
Version: | 523.x (Safari 3) | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.4 | ||||||
Attachments: |
|
Description
Holger Freyther
2007-08-24 08:57:28 PDT
Created attachment 17848 [details]
Initial implementation of a backbuffer
This is an initial patch that doesn't work too well; scrolling vertically seems to be fine except for a few artifacts to do with text. However, scrolling horizontally seems to be a total failure.
Relevant code is in ChromeClient::scrollBackingStore() for those who wish to look at it. The cases for dy being <0 or >0 are fine; the analogous cases for dx do not work, and I'm not entirely sure why.
i think the problem is that frame->view()->paint is overwriting the other areas apart from the clip region. adding this clip to the cairo context as well seems to fix the problem.. ctx.setGdkBackingStore(GDK_DRAWABLE(pageData->backingStore)); + ctx.clip(clip); Alp: on IRC you said that you have a semi-working patch for this. Any news? Do you want any help testing the patch? I believe this is obsolete now since bug #21314 is in. Closing as.. FIXED (?). |