Opened 8 years ago
Last modified 8 years ago
#4914 new defect
jarabe windows are redrawn excessively — at Version 1
Reported by: | quozl | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | Unspecified |
Component: | Sugar | Version: | Git as of bugdate |
Severity: | Minor | Keywords: | |
Cc: | Distribution/OS: | Unspecified | |
Bug Status: | New |
Description (last modified by quozl)
Extra redraws of graphics windows cause performance to degrade. The following are some of the extra redraws in Sugar 0.107.0:
- when starting an activity, the pulsing icon is redrawn for the entire width of the screen, instead of only the area that has changed,
- in the neighbourhood, friends, and home views, palette popup or popdown over buddy icon, access point icon, or activity icons causes redraw of entire window,
- in the neighbourhood, friends, and home view, when the search entry has focus the entire widget is redrawn on every cursor blink,
- switching to the home list view redraws it twice,
- journal details view redraws the entry name after drawing the entire window,
- journal Documents view draws several times on entry,
- switching from journal to home view draws entire window an extra time,
- switching from Documents view to Journal view redraws entire window twice,
- my settings, about me, nickname redraws after window draws,
- my settings, date & time, list of zones redraws after window draws,
- my settings, network, server and social help server redraw after window draws,
- my settings, modem configuration, all fields below the horizontal rule redraw,
- invoking the frame redraws the entire neighbourhood, friends, and home views, but not the journal view,
- some frame device icons are redrawn even though the amount of change is insufficient to show a different icon; such as wireless access point signal strength, and battery state of charge.
- even with transition box removed, switching between neighbourhood, friends, and home views redraws the final view twice.
Reproducer: change the !__init!__ method in src/jarabe/desktop/homewindow.py by adding these lines to the end of the method:
window = self.get_window() if window is not None: window.set_debug_updates(True)
Restart Sugar.
Reference: https://lazka.github.io/pgi-docs/Gdk-3.0/classes/Window.html#Gdk.Window.set_debug_updates
Note: See
TracTickets for help on using
tickets.