OVH Cloud OVH Cloud

Programmation PALM

2 réponses
Avatar
AlexD
Bonjour,
j'ai un PALM Tungsten C, je voudrais programmer dessus, j'ai déja installé
gcc et j'arrive à compiler des programmes mais je me pose une question.
Je cherche à faire des animations fluides, par exemple faire défiler un
terrain. Le problème est que je ne trouve pas la fonction qui permette
d'attendre la synchronisation vertical de l'écran et qui me permettrais
d'afficher à l'acran la nouvelle image à ce moment là, ce qui éviterait
d'avoir une cassure aléatoire qui apparaisse à l'image.
Je cherche la fonction de vsync mais je ne la trouve pas dans le SDK ni sur
le net, pourtant il doit bien y en avoir une car les jeu que j'utilise ne
montre pas de telles cassures lors des défilement de terrains...

Merci de votre aide,
Alex.

2 réponses

Avatar
Pierre-Yves TAVERNIER
Bonjour,

Je ne suis pas un pro de l'animation mais quand je veux en faire un peu
j'utilise la technique du double buffer.
Je dessine l'image hors de l 'ecran et je la recopie sur l'écran.

Sur le palm j'utilise le fonction
WinCreateOffscreenWindow pour créer le buffer
WinSetDrawWindow pour sélectionner la fenetre dans laquelle je dessine
WinGetWindowBounds pour récuperer les coordonnées du rectangle dans lequelle
j'ai dessiné
WinCopyRectangle pour copier le buffer sur la form active

Il y a peut être mieux mais je me contente de cela.

Il existe aussi une autre technique (voir le forum Hb++ sur
www.handheld-basic.com) que je n'ai jamais testé qui consiste à locker
l'écran, dessiner puis débloquer l'écran (WinScreenLock et WinScreenUnlock)

Cordialement

PYT


"AlexD" a écrit dans le message de
news:400aefe4$0$28696$
Bonjour,
j'ai un PALM Tungsten C, je voudrais programmer dessus, j'ai déja installé
gcc et j'arrive à compiler des programmes mais je me pose une question.
Je cherche à faire des animations fluides, par exemple faire défiler un
terrain. Le problème est que je ne trouve pas la fonction qui permette
d'attendre la synchronisation vertical de l'écran et qui me permettrais
d'afficher à l'acran la nouvelle image à ce moment là, ce qui éviterait
d'avoir une cassure aléatoire qui apparaisse à l'image.
Je cherche la fonction de vsync mais je ne la trouve pas dans le SDK ni


sur
le net, pourtant il doit bien y en avoir une car les jeu que j'utilise ne
montre pas de telles cassures lors des défilement de terrains...

Merci de votre aide,
Alex.




Avatar
AlexD
J'utilise aussi des doubles buffer, le problème c'est qu'au moment où je
copie le buffer caché à l'écran celui ci est en train de se raffraichir, ce
qui fait que je peut avoir, le temps que tout l'écran soit raffraichit, la
moitié basse de l'écran qui contient une image et celle du haut une autre,
c'est génant car ce point de cassure est visible le temps de
raffraichissemnt de la mémoire vidéo, et c'est assez pour qu'on le perçoive,
la solution est d'habitude d'attendre le signal comme quoi le
raffraichissement commence en haut de l'écran...ça permet de ne pas avoir de
coupure qui dure plus de la durée d'affichage d'une ligne.




"Pierre-Yves TAVERNIER" a écrit dans le
message de news:400afca0$0$24023$
Bonjour,

Je ne suis pas un pro de l'animation mais quand je veux en faire un peu
j'utilise la technique du double buffer.
Je dessine l'image hors de l 'ecran et je la recopie sur l'écran.

Sur le palm j'utilise le fonction
WinCreateOffscreenWindow pour créer le buffer
WinSetDrawWindow pour sélectionner la fenetre dans laquelle je dessine
WinGetWindowBounds pour récuperer les coordonnées du rectangle dans


lequelle
j'ai dessiné
WinCopyRectangle pour copier le buffer sur la form active

Il y a peut être mieux mais je me contente de cela.

Il existe aussi une autre technique (voir le forum Hb++ sur
www.handheld-basic.com) que je n'ai jamais testé qui consiste à locker
l'écran, dessiner puis débloquer l'écran (WinScreenLock et


WinScreenUnlock)

Cordialement

PYT


"AlexD" a écrit dans le message de
news:400aefe4$0$28696$
> Bonjour,
> j'ai un PALM Tungsten C, je voudrais programmer dessus, j'ai déja


installé
> gcc et j'arrive à compiler des programmes mais je me pose une question.
> Je cherche à faire des animations fluides, par exemple faire défiler un
> terrain. Le problème est que je ne trouve pas la fonction qui permette
> d'attendre la synchronisation vertical de l'écran et qui me permettrais
> d'afficher à l'acran la nouvelle image à ce moment là, ce qui éviterait
> d'avoir une cassure aléatoire qui apparaisse à l'image.
> Je cherche la fonction de vsync mais je ne la trouve pas dans le SDK ni
sur
> le net, pourtant il doit bien y en avoir une car les jeu que j'utilise


ne
> montre pas de telles cassures lors des défilement de terrains...
>
> Merci de votre aide,
> Alex.
>
>