TiMad Le 02/08/2002 à 17:16 En admetant qu'il faille attendre 2 switchs...
Sur Ti:
D R (12:28) Kevin Kofler: OSC2/2^11
Où OSC2 vaut:
HW1: ~680 kHz - ~770 kHz
HW2: ??? - (~520 kHz (= 2^19 Hz !)) - ???
Source: J89hw.txt
donc sur HW2:
ton swapbuffering fait du 260 Hz.
=> XCpyGPlanToLcd fait du 350 Hz (a confirmer car j'avais pas beaucoup de pile..)
Sur HW1:
ton swapbuffering fait du 725/2=362 Hz.
=> XCpyGPlanToLcd fait du 367 Hz (a confirmer car j'avais pas beaucoup de pile..)
ceci etant dit, tu as raison, puisque sur TI, on bosse en basse frequence.. donc ta methode est plus rapide (si j'ai bien compris ...)
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 02/08/2002 à 17:41 C'est pour ca que j'ai conclu que le SwapBuffering et plus rapide ...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Bizarre. Le test GraphX ne clignotait pas du tout sur HW2, que sur HW1...
Mais peut-être que lui, il attendait la synchro avant l'échange de pointeurs, alors que toi, tu ne l'attendais pas du tout...
TiMad Le 02/08/2002 à 22:17 Mais t'es obligé d'attendre une synchro.. sinon etant donné que ma boucle d'affichage a un FPS superieur a ticks... c'est obligé que ca clignotte
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 03/08/2002 à 19:15 Non reviens sur ma position.
La methode XCpyGPlanToLCD, est la plus rapide, car elle est la plus rapide sur HW1.
Or les jeux sont synchronysés sur un int (5) et que par conséquent, la vitesse limitante est la vitesse des HW1.
=> Meme si le SwapBuffering est plus rapide sur HW2, ca sert à rien!
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 03/08/2002 à 19:40 Chaqun sa methode, de toute maniere c'est pas ce qu'il y a de capital dans une lib...
Genlib utilise cette methode, et pourtant quand j'ai fait un bench de scroll diff, elle est plus lente .
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
Elle fonctionne avec un "swap buffering" même sur HW1 ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
TiMad Le 03/08/2002 à 20:07 Oui. (cf SwapBuffer() de gen)
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
PpHd Le 03/08/2002 à 21:47 >Timad: Un programme Genlib calcule les deplacements/plein de choses pendant ce temps au lieu de compter fleurette.
TiMad Le 03/08/2002 à 21:56 ouai... elle doit s'ammuser à effacer le 'GPlan' inactif ou un truc comme ca...
Mais bon elle a pas le temps de faire grand chose..
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
thibaut, tu vas mettre ta fonction d'attente dans une int? si elle est assez frequente, ca ne pause pas de pb, elle gere ca automatiquement a ce moment la, et toi tu ne perds pas de temps a attendre la synchro?! Je suis a coté de la plaque?
GX_DisplayWorkBuffer changera juste dans l'int l'adresse du plan a afficher?
TiMad Le 04/08/2002 à 12:31 Le probleme c'est la synchro sur HW1 ca clignote ce qui implique qu'il faut attendre 2 / 2 switch.
Donc cela fait une difference de vitesse entre HW1 et HW2. De plus si tu essaies de calculer des tas de truc comme le dit pphd, il faut savoir que le nombre de switch est variable, il faut donc gérer 2 cas. Cela ne permet pas d'optimiser comme il le faudrait par exemple la routine de clear_buffer, ou alors par une perte de memoire non negligeable...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 04/08/2002 à 15:11 "Parce que sur HW1, l'échange des pointeurs n'est effectif qu'après le prochain changement de plan, donc après 1 ou 2 switches selon la phase en laquelle tu te trouves (1 switch si c'est un changement L->D ou D->L, 2 switches si le premier switch est un changement D->D).
"
Je dirais:
il faut faire forcé le changement de plan...
Mais bon faudai que je regarde les sources...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!