All confused about fastest blitting

I’m using Windows 98 with Direct X 7.

What is the method to get into the FASTEST screen mode, hardware/software,
etc, and what is the best way to update the screen then?
Do I use SDL_Flip with double buffer, or update_rects?
Currently I’m not redrawing the whole screen each iteration.________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

I’m using Windows 98 with Direct X 7.
What is the method to get into the FASTEST screen mode, hardware/software,

this is quite fast:
SDL_SetVideoMode(w, h, bitsPP, SDL_HWSURFACE|SDL_FULLSCREEN);

NB: dont forget to convert your surfaces to the display format, 

this also yeilds a significant speed improvement.

etc, and what is the best way to update the screen then?
Do I use SDL_Flip with double buffer, or update_rects?
Currently I’m not redrawing the whole screen each iteration.

If you think you will be doing full screen updates as your app. 

evolves then add a SDL_DOUBLEBUF to the SetVideoMode flags above and use
SDL_Flip from the outset. Otherwise use SDL_UpdateRects which is
blindingly fast when used correctly.

-dv

this is quite fast:
SDL_SetVideoMode(w, h, bitsPP, SDL_HWSURFACE|SDL_FULLSCREEN);

NB: dont forget to convert your surfaces to the display format,
this also yeilds a significant speed improvement.

Cool, that is essentially what I’m doing, although I’m testing in windowed
mode for ease of coding.
I convert my surfaces as soon as I’ve loaded then.

If you think you will be doing full screen updates as your app.
evolves then add a SDL_DOUBLEBUF to the SetVideoMode flags above and use
SDL_Flip from the outset. Otherwise use SDL_UpdateRects which is
blindingly fast when used correctly.

Cool. How does one use SDL_UpdateRects incorrectly? I wonder if I’m
breaking any rules the way I use them?
I just have a list of areas updated, and update that list of rectangles at
the end of a loop.________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com

If you think you will be doing full screen updates as your app.
evolves then add a SDL_DOUBLEBUF to the SetVideoMode flags above and use
SDL_Flip from the outset. Otherwise use SDL_UpdateRects which is
blindingly fast when used correctly.

Cool. How does one use SDL_UpdateRects incorrectly? I wonder if I’m
breaking any rules the way I use them?

by all means 'break the rules' and explore the possibilities just 

don’t be silly about it (eg. using a pointer to deleted data because you
know the data should still be there for a while :slight_smile: ).

I just have a list of areas updated, and update that list of rectangles at
the end of a loop.

sounds good. keep it simple to begin with then add 'smarts' like 

eliminating overlapping rects from the list and stuff.

-dv