Skip to content
Snippets Groups Projects
  1. Oct 27, 2020
  2. Oct 26, 2020
  3. Oct 16, 2020
  4. Oct 12, 2020
  5. Oct 09, 2020
  6. Oct 03, 2020
  7. Oct 02, 2020
  8. Sep 28, 2020
  9. Sep 26, 2020
  10. Sep 19, 2020
    • Olivier Fourdan's avatar
      More XErrors traps · 3119b50b
      Olivier Fourdan authored
      
      Previously we would leak error traps in free_win_data() causing
      slowdowns overtime as the list of requests grows.
      
      While fixing the leak is crucial, it also unveiled several places where
      actual error traps are missing, causing xfwm4 to abort more often.
      
      Based on XErrors reported, the issue is triggered when freeing pixmaps
      or render pictures.
      
      Add more XErrors traps to catch those errors.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      #433
      #435
      #436
      3119b50b
  11. Sep 18, 2020
  12. Sep 16, 2020
    • bob5972's avatar
      compositor: Add cwindow_hash to optimize find_cwindow_in_screen · a1fbb8f1
      bob5972 authored and bob5972's avatar bob5972 committed
      
      On my system when the window manager is mostly idling (0-12 tiny
      updates per second), about half the CPU time in xfwm4 is spent in
      find_cwindow_in_screen, iterating the linked list looking for a
      matching Window id.  Instead, this patch adds a GHashTable to map
      Window ids to CWindows, completely eliminating that cost in my
      profiles, resulting in a 0.3-1.0% of a core total CPU reduction for
      this workload.
      
      Signed-off-by: default avatarMichael Banack <bob5972@banack.net>
      a1fbb8f1
    • bob5972's avatar
      compositor: Add define for compositor_timeout_cb interval · 2fa246ca
      bob5972 authored and bob5972's avatar bob5972 committed
      
      The call to g_timeout_add in add_repair seems to be mixing up priority
      and callback interval.  Instead, let's call g_timeout_add_full to make
      it clear there are two separate fields, and add an appropriate define
      for the callback interval, setting it to the same 1ms value it was
      currently using.
      
      Signed-off-by: default avatarMichael Banack <bob5972@banack.net>
      2fa246ca
  13. Sep 14, 2020
  14. Sep 11, 2020
  15. Sep 07, 2020
  16. Sep 02, 2020
  17. Aug 23, 2020
  18. Aug 20, 2020
  19. Aug 09, 2020
  20. Aug 08, 2020
    • bob5972's avatar
      compositor: use g_slice allocator for compositor windows · 390af609
      bob5972 authored and Olivier Fourdan's avatar Olivier Fourdan committed
      On my system, 2-4% of the CPU time in xfwm4 is being spend in
      find_cwindow_in_screeni() pulling in entries from the linked list on
      a lightly updating desktop.
      
      After this change, 25-50% of that CPU is gone, presumably because the
      slice allocators have better locality of the list-entries.
      
      Closes: #416
      390af609
    • bob5972's avatar
      Fix errorTrap leak in free_win_data · e6a32cf7
      bob5972 authored and Olivier Fourdan's avatar Olivier Fourdan committed
      The function free_win_data() may generate X11 errors as the client
      window may already be gone.
      
      To avoid those, the entire function code is supposed to be enclosed
      within an error trap/push.
      
      A typo in the code would however push twice instead of a balanced
      push/pop which causes the list of event sequences in GDK to grow
      indefinitely, leading to slowdowns as the list grows over time.
      
      Fix the leak by balancing the error push with an error pop at the end
      of the function.
      
      #351
      e6a32cf7
    • Olivier Fourdan's avatar
      compositor: use actual atom · 78c5dc42
      Olivier Fourdan authored
      
      The function compositorCheckCMSelection() would use the atom index in
      our table of atoms, instead of the actual atom, so this is unlikely to
      work as expected.
      
      Fix the code to use the appropriate atom as it should.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      78c5dc42
    • Olivier Fourdan's avatar
      cleanup: prefer zero initialized memory allocation · b510bdba
      Olivier Fourdan authored
      
      Prefer using memory allocation functions which initialize the memory
      with 0's to be on the safe side.
      
      No functional change.
      
      Signed-off-by: default avatarOlivier Fourdan <fourdan@xfce.org>
      b510bdba
  21. Aug 01, 2020
  22. Jul 27, 2020
  23. Jul 26, 2020
  24. Jul 25, 2020
Loading