EXT: Re: [PATCH weston 0/4] Optimize pixman renderer
Ray, Ian (GE Healthcare)
ian.ray at ge.com
Tue May 22 05:42:15 UTC 2018
> On 21 May 2018, at 16.29, Pekka Paalanen <ppaalanen at 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.ray at ge.com>
(Nit: patch 3, typo “shadoe”.)
>
>
> Thanks,
> pq
>
>
> On Mon, 23 Apr 2018 11:44:55 +0200
> Fabien Lahoudere <fabien.lahoudere at 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list