RESOLVED FIXED 45029
[Gtk] scrolling artifacts
https://bugs.webkit.org/show_bug.cgi?id=45029
Summary [Gtk] scrolling artifacts
zaheer
Reported 2010-09-01 02:26:08 PDT
Created attachment 66183 [details] scroll artifacts scrolling causes artifacts. This is possibly because the expose is not triggered fast enough after moving the partial window in chromeclient::scroll. A fix could be to force an update gdk_window_process_updates but thats likely a performance hit. chrome+linux has a faster scroll speed something i guess we need to match on the gtk port. snap attached
Attachments
scroll artifacts (359.57 KB, image/png)
2010-09-01 02:26 PDT, zaheer
no flags
Patch to call gdk_window_process_updates() when scrolling (1.12 KB, patch)
2010-12-16 05:45 PST, Carlos Garcia Campos
mrobinson: review+
commit-queue: commit-queue-
Alejandro G. Castro
Comment 1 2010-09-01 02:41:04 PDT
This is basically responsibility of the gtk scrolling code, since clien-side-windows patches situation is not that bad if you do not have a native window in the view. Basically if you have a plugin with window, the scroll fallback to the old behaviour, which is this. We would like to work on this and trying to fix it with a backing store, it is interesting wrt webkit2.
zaheer
Comment 2 2010-09-01 11:00:08 PDT
(In reply to comment #1) > This is basically responsibility of the gtk scrolling code, since clien-side-windows patches situation is not that bad if you do not have a native window in the view. Basically if you have a plugin with window, the scroll fallback to the old behaviour, which is this. We would like to work on this and trying to fix it with a backing store, it is interesting wrt webkit2. Do you mean a backing store on the server (xpixmap) since i think plugins use x windows directly. Also in the current situation, isnt it possible to postpone the window move to a later point (expose) and draw everything at once.
Carlos Garcia Campos
Comment 3 2010-12-16 05:45:46 PST
Created attachment 76760 [details] Patch to call gdk_window_process_updates() when scrolling Yes, calling gdk_window_process_updates() fixed the artifacts for me. Maybe there are other performance issues to fix, but we should definitely call gdk_window_process_updates() right after moving the window when scrolling, it's what all gtk widgets that implement scrollable interface do, see GtkLayout, GtkViewPort, GtkTextView, etc.
Martin Robinson
Comment 4 2010-12-16 09:26:32 PST
Comment on attachment 76760 [details] Patch to call gdk_window_process_updates() when scrolling Great catch.
WebKit Commit Bot
Comment 5 2010-12-16 09:28:03 PST
Comment on attachment 76760 [details] Patch to call gdk_window_process_updates() when scrolling Rejecting attachment 76760 [details] from commit-queue. Failed to run "['./WebKitTools/Scripts/webkit-patch', '--status-host=queues.webkit.org', '--bot-id=cr-jail-3', 'apply-attachment', '--non-interactive', 76760]" exit_code: 2 Last 500 characters of output: ailed to merge in the changes. Patch failed at 0001 2010-12-16 Yury Semikhatsky <yurys@chromium.org> When you have resolved this problem run "git rebase --continue". If you would prefer to skip this patch, instead run "git rebase --skip". To restore the original branch and stop rebasing run "git rebase --abort". rebase refs/remotes/origin/master: command returned error: 1 Died at WebKitTools/Scripts/update-webkit line 132. Failed to run "['WebKitTools/Scripts/update-webkit']" exit_code: 2 Full output: http://queues.webkit.org/results/7076078
Martin Robinson
Comment 6 2010-12-16 09:50:42 PST
WebKit Review Bot
Comment 7 2010-12-16 15:39:15 PST
http://trac.webkit.org/changeset/74196 might have broken Leopard Intel Debug (Tests)
Note You need to log in before you can comment on or make changes to this bug.