Omni
|
--Scaleblit one 640x480 image.
--Scaleblit one 640x1 image 480 times.
Which is faster? Or, since the pixel data manipulated is the same, is there any difference in speed at all?
Posted on 2004-12-18 13:03:34 (last edited on 2004-12-18 13:04:06)
|
basil
|
Every function has some overhead associated with it, so while you're correct in saying the same amount of pixel data is being manipulated, doing it in terms of strips is costing you 480 times whatever the scaleblit overhead is.
And because curiosity will not let me leave it at that, I ran some quick comparison speed tests, and the difference is in fact so large that I cannot reliably find out what it is. Suffice to say, don't do it that way because it will never, ever work.
Posted on 2004-12-18 16:25:49
|
Omni
|
I am thinking of creating a revision to the version 3.12 in the Files -- Verge3 - Utility section.
The new version would try to correct some of the distortion problems in the current version--certain workarounds for problems I encountered would be corrected, and I'd change how the pixel data is calculated for each line to reduce the seam between two triangles of a quadrilateral.
I was also thinking of a rasterizer throttling feature. Essentially you give it an ideal time to render all the textures, such as 3/100 of a second.
It draws all the textures, then calculates the number of scanlines it drew, the average number of scanlines per rasterization, and the total time it took to draw all textures.
Then it reduces detail on individual rasterizations. If you drew 1000 scanlines last time, an average of 30 lines per picture, 30 different textures, and the current picture involves 400 scanlines, then it will draw the current picture with less scanlines (for example, only every other third line of the picture will be a true rasterization).
This would increase the speed at a loss of rasterization quality. My idea was to fill in the non-rasterized gaps with scaled versions of the last real rasterized scanline, which would essentially create the illusion of a lower resolution source texture.
Only problem is, apparently applying numerous ScaleBlits once more isn't the solution I need. But I'll mess around with it sometime.
Posted on 2004-12-19 11:37:26
|