Opened 8 years ago

Last modified 8 years ago

#4914 new defect

jarabe windows are redrawn excessively — at Version 3

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:

  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, but only if the search entry is not in focus (perhaps caused by a focus indicator redraw of a child widget),
  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 when shown,
  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. invoking the frame redraws the entire neighbourhood, friends, and home views, but not the journal view, but only if the search entry is not in focus,
  14. 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.
  15. 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 (3)

comment:1 Changed 8 years ago by quozl

  • Description modified (diff)

comment:2 Changed 8 years ago by quozl

  • Description modified (diff)

comment:3 Changed 8 years ago by quozl

  • Description modified (diff)
Note: See TracTickets for help on using tickets.