[SDL] SDL_BlitSurface and getpixel(): Windows Vs Linux
stephena at roadrunner.nf.net
Tue Jul 30 14:46:01 PDT 2002
On July 29, 2002 11:19 pm, Chris Thielen wrote:
> On Mon, 2002-07-29 at 15:58, George wrote:
> > Mandrake 8.2 with nvidia 2960 drivers
> > getpixels test -> time needed = 8 seconds
> > SDL_Blit test -> speed = almost good (constant at window/fullscreen
> > mode!)
> > Windows ME with nvidia 29.42 drivers + direct X 8.1
> > getpixels test -> not tested
> > SDL_Blit test -> speed = unbelievably SLOW
> > Windows XP with nvidia 29.42 drivers + direct X 8.1
> > getpixels test -> time needed = 22 seconds !!!
> > SDL_Blit test -> speed = almost good (at window mode)
> > SUPERFAST at fullscreen mode
> I'm no expert w/ SDL, but I think I can partially answer this. I assume
> that with Mandrake your getpixel test is accessing pixels on a software
> surface, and your Windows XP getpixel test is accessing pixels on a
> hardware surface, that would explain the differences in those times.
> Somebody correct me if I'm wrong. Is that what's going on? Do you have
> software surfaces in Mandrake and hardware surfaces in Windows XP?
> Because as far as I understand it, accessing pixels, like a getpixel
> test would do, is much quicker to a software surface than to a hardware
> surface, since it has to go through the PCI/AGI bus. Right?
Also, I think in Linux, fullscreen mode is created by simply taking a
window and putting a black border around it, then restricting the mouse
to that area. That would explain why windowed and fullscreen are the
same. Both are windows, and neither has hardware access. There are no
hardware surfaces (except for the one explained below).
Unless of course you use the DGA backend, where fullscreen is actually
More information about the SDL