arjan de lumens said:I would guess at state changes. When performing a 'state change' (swapping to another texture, another blend mode, another framebuffer or whatever), the GPU may be unable to draw any pixels for a short period. When reducing the resolution, the amount of time needed for state changes in unchanged, but the number of pixels drawn between each state change is greatly reduced, causing the percentage of cycles lost to state changes to increase.
State changes really shouldn'tr show up in this sort of benchmark unless there are a LOT of them.
I'd guess it's because 640x480 isn't an exact multiple of tile sizes, or there is a higher percentage of fractional tiles on the 640x480 screen. This would mak make memory access slightly less efficient on the 640x480 fill than on the larger screen.