Opened 8 years ago

Last modified 8 years ago

#4914 new defect

jarabe windows are redrawn excessively — at Initial Version

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

Extra redraws of graphics windows cause performance to degrade. The following are some of the extra redraws in Sugar 0.107.0:

  1. when starting an activity, the pulsing icon is redrawn for the entire width of the screen, instead of only the area that has changed,
  2. 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,
  3. in the neighbourhood, friends, and home view, when the search entry has focus the entire widget is redrawn on every cursor blink,
  4. switching to the home list view redraws it twice,
  5. journal details view redraws the entry name after drawing the entire window,
  6. journal Documents view draws several times on entry,
  7. switching from journal to home view draws entire window an extra time,
  8. switching from Documents view to Journal view redraws entire window twice,
  9. my settings, about me, nickname redraws after window draws,
  10. my settings, date & time, list of zones redraws after window draws,
  11. my settings, network, server and social help server redraw after window draws,
  12. my settings, modem configuration, all fields below the horizontal rule redraw,
  13. 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

Change History (0)

Note: See TracTickets for help on using tickets.