> On 21 May 2018, at 16.29, Pekka Paalanen <ppaala...@gmail.com> wrote: > > Hi, > > this series was originally written by me as you can see, and Fabien > lifted the patches, reviewed, tested and submitted them. If no-one > objects, I would like to land these on Thursday.
Reviewed-by: Ian Ray <ian....@ge.com> (Nit: patch 3, typo “shadoe”.) > > > Thanks, > pq > > > On Mon, 23 Apr 2018 11:44:55 +0200 > Fabien Lahoudere <fabien.lahoud...@collabora.com> wrote: > >> Optimizes pixman renderer by: >> - optimizing compositing damage in DRM/pixman >> >> Reduce Weston's CPU usage by avoiding unnecessary compositing when updating >> the shadow buffer in pixman-renderer, under the DRM backend. The test was a >> proprietary graphical X11 application in demo mode. The effect is a drop of >> total system CPU usage from 0.41 to 0.33. >> >> - optimizing shadow buffer usage >> >> The shadow framebuffer is an intermediate buffer where the scene is >> composited >> and then copied from the shadow to the actual hardware buffer. This extra >> step >> costs memory bandwidth compared to compositing directly into a hardware >> buffer. >> >> Weston's DRM-backend with the Pixman-renderer uses a shadow framebuffer by >> default. Especially on systems with dedicated VRAM, read-modify-write cycles >> (a.k.a blending) into the scanout-capable buffer can be very slow. Also the >> scanout pixel format may not be optimal for compositing. Therefore Weston >> takes >> the safe default to always use a shadow framebuffer. >> >> However, in our use case, the hardware does not have dedicated VRAM behind a >> relatively slow bus, and the graphical load has practically no blending. We >> can reduce Weston's CPU usage quite a lot by not using the shadow >> frambuffer. >> >> We test on proprietary graphical X11 application in demo mode. Using perf we >> measure that this change improve weston CPU usage by 13% with dual display >> and >> 11% with clone mode. >> >> Pekka Paalanen (4): >> pixman,drm: do not composite previous damage >> pixman: make shadow buffer optional >> compositor-drm: expose global shadow flag for pixman >> main: add setting for DRM/pixman shadow framebuffer >> >> compositor/main.c | 3 ++ >> libweston/compositor-drm.c | 30 +++++++------ >> libweston/compositor-drm.h | 3 ++ >> libweston/compositor-fbdev.c | 3 +- >> libweston/compositor-headless.c | 3 +- >> libweston/compositor-rdp.c | 5 ++- >> libweston/compositor-wayland.c | 3 +- >> libweston/compositor-x11.c | 6 ++- >> libweston/pixman-renderer.c | 99 >> ++++++++++++++++++++++++++++------------- >> libweston/pixman-renderer.h | 13 +++++- >> man/weston-drm.man | 4 ++ >> 11 files changed, 118 insertions(+), 54 deletions(-) >> > > _______________________________________________ > wayland-devel mailing list > wayland-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/wayland-devel _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/wayland-devel