[Goody] NuBlt

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Goody] NuBlt

Eddie Cottongim
As some know, I spent some time looking into how to do the fastest blts
possible. The motivation for this was that the LookEnhancements in 3.9
put a heavy load on BitBlt for things like window resizing and other
common things that people expect to be very fluid.

The result was a promising architecture, but I ran out of steam on this
after getting it to a 'first demo' stage. It runs from within squeak, at
1 and 32 bit depths, on rules 3 and 25 (the most common), but not as a
drop-in replacement. The prospect of getting it to work with the many
modes of operation that Squeak's bitblt has scared me off for now, but
it should be possible.

The demonstrated performance gain for the supported modes ranges from
1.3x to 14x. Most of the performance opportunities exist in color
conversions; Squeak's bitblt is fairly close to optimal when no
conversion is needed. Color conversion was also one thing I never
completely figured out, and I was worried that my highly specific color
conversion routines would not offer the flexibility that Squeak's
mechanism offers.

I wanted to make this available in case anyone is interested. I also
thank all the people on IRC that put up with my questions.

A brief description, as well as source code files, are located here.
http://minnow.cc.gatech.edu/squeak/5845

Eddie


Reply | Threaded
Open this post in threaded view
|

Re: [Goody] NuBlt

stéphane ducasse-2
Thanks eddie.
Too bad that I'm bad with blt.
But we really took care of your fixes so be sure that we will pay  
attention to the next ones :)

Stef


On 21 mars 06, at 07:49, Eddie Cottongim wrote:

> As some know, I spent some time looking into how to do the fastest  
> blts possible. The motivation for this was that the  
> LookEnhancements in 3.9 put a heavy load on BitBlt for things like  
> window resizing and other common things that people expect to be  
> very fluid.
>
> The result was a promising architecture, but I ran out of steam on  
> this after getting it to a 'first demo' stage. It runs from within  
> squeak, at 1 and 32 bit depths, on rules 3 and 25 (the most  
> common), but not as a drop-in replacement. The prospect of getting  
> it to work with the many modes of operation that Squeak's bitblt  
> has scared me off for now, but it should be possible.
>
> The demonstrated performance gain for the supported modes ranges  
> from 1.3x to 14x. Most of the performance opportunities exist in  
> color conversions; Squeak's bitblt is fairly close to optimal when  
> no conversion is needed. Color conversion was also one thing I  
> never completely figured out, and I was worried that my highly  
> specific color conversion routines would not offer the flexibility  
> that Squeak's mechanism offers.
>
> I wanted to make this available in case anyone is interested. I  
> also thank all the people on IRC that put up with my questions.
>
> A brief description, as well as source code files, are located here.
> http://minnow.cc.gatech.edu/squeak/5845
>
> Eddie
>
>