[haiku-development] Re: Optimizing Painter::_DrawBitmapBilinearCopy32

  • From: David McPaul <dlmcpaul@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 22 Jun 2009 00:40:27 +1000

2009/6/21 Christian Packmann <Christian.Packmann@xxxxxx>

> Half an hour ago, Haiku rendered a movie using the MMX/SSE code for the
> first time, playing The Life of Brian in VLC:
>
> http://www.elenthara.de/Haiku/Haiku_VLC_SSE.jpg
>
> The colors are /supposed/ to be that way, I set the red channel to full in
> my code to make sure app_server uses the proper code path.
>
> This is far from release-ready, I just hacked the code in for a first test.
> There are still many problems with overlapping windows, mouse movement
> leaving artifacts, etc.
>
> CPU usage drops significantly, even though there is still quite a high load
> (Haiku uses 2 VCPUs on my Q9550, which runs at 3.33 GHz at the moment).
>
> Stephan, are there any other performance-critical functions used for movie
> playback in app_server? Color conversion. data copying, etc. If so, I could
> take a look at the next optimization targets to tackle after integration of
> this is done.
>
> Christian
>
>
I have been looking at colour conversion functions for the media library.

Currently each video decoder does it's own colour conversion but I would
rather we create a video mixer that can handle all of that as well as
allowing multiple video streams to be blended.  That way, all video decoders
will gain accellerated conversions and the decoders just decode in their
best colour space.

I was looking at using orc to generate some basic conversion routines but I
expect hand crafted ones would be better.  See http://www.schleef.org/blog/

I am not very far along with this.  So if you want to do this thats fine by
me.

Later the media kit can implement standard video decoder/encoding routines
that could be GPU accellerated as well.

-- 
Cheers
David

Other related posts: