Hm... It would have been nice if someone had told me that THREE DAYS AGO! :-)
Well, I give up in this crap. I have been unable to find a solution.
I now have a better grasp of how the GDI functions work, but that information is largely useless to me unless I ever decide to start coding in Visual Basic.
Also, I realised after I posted the above when looking at my zooming code to see if I could optimize it further that I HAD FORGOTTEN TO REPLACE THE CALLS TO SCALEIMAGE IN MY MAIN PROGRAM WITH CALLS TO MY NEW ZOOM FUNCTION WHICH I KNEW WAS 8x FASTER THAN SCALEIMAGE.
What can I say? I am an idiot. I wated three days looking for a solution to a problem which wasn't quite as bad as I thought it was.
Still it would be nice to have instant zooming. I have no idea why Mark chose to code his own scale function rather than using the scaleblt command to do scaling. I can only guess it is a holdover from Blitz3D.
Also, I haven't decided if I should code a Blitzplus specific version of my zoom function. It would only get me a 25% increase in speed in 32 bit graphics modes. That means a half a second off a two second scaling time. Doesn't really seem worth all the messy code.
Well, I give up in this crap. I have been unable to find a solution.
I now have a better grasp of how the GDI functions work, but that information is largely useless to me unless I ever decide to start coding in Visual Basic.
Also, I realised after I posted the above when looking at my zooming code to see if I could optimize it further that I HAD FORGOTTEN TO REPLACE THE CALLS TO SCALEIMAGE IN MY MAIN PROGRAM WITH CALLS TO MY NEW ZOOM FUNCTION WHICH I KNEW WAS 8x FASTER THAN SCALEIMAGE.
What can I say? I am an idiot. I wated three days looking for a solution to a problem which wasn't quite as bad as I thought it was.
Still it would be nice to have instant zooming. I have no idea why Mark chose to code his own scale function rather than using the scaleblt command to do scaling. I can only guess it is a holdover from Blitz3D.
Also, I haven't decided if I should code a Blitzplus specific version of my zoom function. It would only get me a 25% increase in speed in 32 bit graphics modes. That means a half a second off a two second scaling time. Doesn't really seem worth all the messy code.