Quote Originally Posted by Alimonster
Out of interest, how fast does this (224K) run on your comp? If it's any value >= 5 FPS then your blending could probably be improved, especially since the above is doing much more fancy stuff than just alpha-blending the screen (which it does too, though). It doesn't use MMX yet. [It works best with white backgrounds; if you press 'z' to get rid of the picture then it looks pretty snazzy].

Yes, this is sort of irrelevant and I'm showing off.

You probably would be better off with a non-translucent interface. Save most of the CPU cycles for the game .
LOL @ 110 FPS... How on earth can I optimize this:- (other than using MMX)


dwSrcOffset := (ddsdSrc.lPitch shr 1);
dwDestOffset := (ddsdDest.lPitch shr 1);

for iY := 0 to ddsdSrc.dwHeight - 1 do
begin
for iX := 0 to ddsdSrc.dwWidth - 1 do
begin
if SrcBuf[iX + iY * dwSrcOffset] <> $0000 then
begin
DestBuf[iX + iY * dwDestOffset] :=
((SrcBuf[iX + iY * dwSrcOffset] and $F7DE) shr 1) + ((DestBuf[iX + iY * dwDestOffset] and $F7DE) shr 1);
end;
end;
end;