SetLayeredWindowAttributesの使用も検討してみては?
差分更新範囲が狭いなら、こっちの方が速いかもしれない。