For some reason I thought that using this "alpha blend fix" would be faster than re-rendering the entire screen. However, when I did a speed test comparison, I'm actually experiencing a speed drop of 10 FPS by drawing a series of sprites semi-transparently onto a transparent surface as opposed to snagging the background frame, drawing everything onto it to recreate the scene, and then drawing the sprites semi-transparently onto that.
Despite Calin's statement of its inefficiency (due to locking the surface, drawing a single pixel or image, and then unlocking it), the AGSBlend plugin produced better results than this. So, I'm a bit confused why:
// rep_ex
DynamicSprite *sprite = DynamicSprite.Create(width, height, true);
DrawingSurface *surface = sprite.GetDrawingSurface();
// draw images...
surface.DrawImage(100, 250, 30, 85); // ...etc.
surface.Release();
theOverlay = Overlay.CreateGraphical(x, y, sprite.Graphic, true);
sprite.Delete();
Is so inefficient with this version of acwin.
Edit: I don't experience the drop with a GUI in place of the overlay. I'm continuing to tinker with it.