[haiku-appserver] profiling / acc / ROPs

  • From: "Rudolf" <drivers.be-hold@xxxxxxxxxxxx>
  • To: haiku-appserver@xxxxxxxxxxxxx
  • Date: Sat, 29 Jan 2005 11:24:17 +0100 CET

Hi Stephan,

I will be deviating a bit from the subject maybe, but I just have to 
ask this:
I noticed your latest commit comments, and you mentioned  B_OP_COPY 
there as well.

Please, help me out here:
->Where can I find this define?
->is it a standard BeOS (R5/Dano) define?
->Please give me a list of all options?
->Also note the values they correspond to?

->Exactly for what are you using this? For filling rectangles? Or other
/more things?

I am asking this because I am suspecting something interesting here: If 
I am correct the drivers could accelerate this for you, but only if we 
extend the interface a bit:
Currently these are used in the drivers:
->blit, rect_fill and fill_span: GXcopy (0xcc)
->invert_rect: GXinvert (0x55)

If you are having the same values then (with an update especially for 
Haiku) we could relay them to the driver if you call these hooks. You 
can choose from a 'pallette' of 16 of them if I recall correctly. 
Actually, while we use 'fixed' ROP's (Raster OPerations), Linux XFree 
drivers indeed let the system/apps set the ROP...


OK, that's it. I might be very much off, but I just got to know :-)



> Hi all,
> could someone point me to some good guide(s) on profiling under BeOS? 
> I 
> have now tried several things on my list of accelerating Painter, 
> none 
> of them gave great improvement. I would like to know where exactly 
> the 
> bottlenecks are, but I have never really done much of this "real" 
> profiling stuff before.
> Painter is now implementing all drawing_modes and the pattern drawing 
> correctly, but it is much slower compared to BView. For random or 
> horizontal/vertical lines of 1 pixel width in B_OP_COPY / 
> mode: 10x without anti-aliasing, 39x with anti-aliasing. I'll keep at 
> it...
> Best regards,
> -Stephan

Other related posts: