GoldenCrystal (./86) :
(Personnellement j'ai rien contre le Sleep pour attendre un truc (technique simpliste de flemmard
), m'enfin dans la boucle principale du programme, ça pue un peu, quoi...)
je ne pense pas, sleep ne veut pas dire j'attend mais plutôt "la j'ai du cpu en rab personne en à besoin ?"
ce n'est pas de l'embarqué, d'autre programmes tournent !
pour moi sleep est obligatoire, au moins un sleep(0);
et sous win2k (et wine) c'etais le top car sleep(1); te synchronisais à 60 fps (ok, l'utiliser est très discutable et la conséquence est que sous xp mes prog tournais ensuite trop vite!)
Folco (./85) :
Je te parlais du sleep, pas du while qui justement, n'induit aucun lag (même s'il consomme pour rien).
je sais bien, mais la question etais "bordel ca me prend 100% du cpu",
et c'est normal Folco (./85) :
Et sinon, locker ta surface avant un Flip, ça sert à quoi ? Je croyais que fallait le faire avant d'écrire sur une surface, pas avant de l'afficher.
j'en sais rien, ce code à bien entre 5 et 7 ans, de plus sdl étais la pour le "fun" le vrai framebuffer utilisé est une version custom de tinyPtc, il est fort possible que ca ne compile même pas si je tentais d'activer sdl ^^"
Folco (./85) :
Ben au moins, ça attend naturellement avec SDL_WaitEvent, mais toi tu réinventes la roue ^^
bah je préférais (et préfère toujours) coder tout de A à Z, de plus l'api de sdl ne me conviens pas et à l'origine ce code est pour la gp32 ou il ne vaut mieux même pas ne serais ce que songer à utiliser sdl
bref à la fin ca me permet par exemple de coder haut niveau avec du code genre comme ca :
/* launch song playback */
if(!Gdl_playSong("dstar.rar|song.xm"))
if(!Gdl_playSong("song.xm"))
Gdl_playSong(cysa,cysaSize);
ou d'avoir accès à des callback sur les event standards sans justement réinventer la roue à chaque nouveau prog
void Gdl_iniCallback( void (*onKey) (int key, int pushed),
void (*onClick) (int button, int clicked),
void (*onExit) (void),
void (*onMove) (void),
void (*onWhell) (int way),
void (*onFocus) (int focus),
void (*onFileDrop) (const char*path),
void (*onAfterZoom) (void*bf,u32 w,u32 h,u32 pitch)
);

concernant le fait d'utiliser un event custom, oui, c'est de loin la chose la plus propre !
mais petite remarque, après le wait, perso je viderais complètement la pile d’évent au lieu d'attendre que sdl te les envois un par un, car je serais curieux de savoir ce qui se passe si tu bouge ta sourie comme un malade pour saturer d'event ton programme
Zerosquare (./83) :
Kevin > mais ça reste un hack crade, qui génère des context switches pour rien
tu mésestime trop le système je pense, quoi qu'il arrive il le fera, autant lui dire quant c'est le bon moment non ?
vous parliez de sauvegarder la batterie, c'est ce que ca fait, ca n'utilise que le nécessaire