I've done some tests and got some curious results on selections inside filters.<br><br>It turned out that additional bitBlt doesn't cause any considerable penalty. On fast lightweight filters (Invert filter) the scheme with bitBlt'ed selection works up to 1.8 times faster (need to be proved), on heavy and slow filters (like Curves, Levels) the time is almost the same (~2% slower at the worst case). <br>
<br>Probable reasons:<br>1) Heavy filters have bigger footprint<br>2) Internal filters' selections have a big footprint that causes actual filter's code run slower.<br><br>More than that, the selection that is applied inside filters - is a "discreet" selection, but bitBlt'ed one is normal 256-grade selection.<br>
<br>I got these results on a rectangular selection.<br>And they should be proved one more time. I'll do it tomorrow.<br><br clear="all"><br>-- <br>Dmitry Kazakov<br>