Pages: 1 2 3 [4] 5   Bas de page
Imprimer
Auteur Fil de discussion: [nds/palib]Accélérer le vbl  (Lu 6102 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Mollusk Hors ligne
Administrateur
*****
Messages: 3537


Voir le profil WWW
Ne vous posez pas de questions, codez !

« Réponse #45 : 30 Novembre 2007, 14:00:47 »

Le truc de toilet ça revient au même que de faire un refreshPerso au lieu du WaitForVBL, avec une différence fondamentale : la fonction que tu passes au VBL tounera à 60fps quel que soit la vitesse de ta boucle, donc ça peut aller à 50 fps dans la boucle principale et 60 dans cette fonction... Donc ça dépend de ce que tu veux faire Azn

Je m'en sers notamment dans Mental Games pour faire mes déplacements de blocs dans le menu tout en changeant l'image du bas progressivement Azn J'aurai pu faire la technique du refreshBouzin là aussi, mais il aurait fallu que je remplace tous mes WaitForVBL partout et ça aurait été galère si je voulais réutiliser ces bouts de code ailleurs (comme pour les affichages de scores dans certains des jeux). Du coup je lance en VBL et j'oublie. A noter que ça permet aussi de changer les états si tu veux, genre tu lui passes la fonction init qui va tourner pendant 3 boucles, et qui au bout de 3 fois change pour foutre à sa place la fonction bouger(), etc...
Journalisée

Toiletking Hors ligne
Mega Member
***
Messages: 1293


Voir le profil WWW
"Caca Boudin!"

« Réponse #46 : 30 Novembre 2007, 14:08:39 »

Ben, si je fait pas ca j'ai un freeze de mon scrolling quand le texte s'affiche, et dans mon jeux ca fait pas très beau   Smiley C'est artisanal hein Azn? mais c'est bien ce qui se passe : j'ai plusieurs chose qui se font en même temps Wink

Non non je suis pas un geek guru! Azn je suis plutôt un con guru ! Grin
« Dernière édition: 30 Novembre 2007, 14:10:26 par Toiletking » Journalisée
frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #47 : 30 Novembre 2007, 14:13:51 »

Ben, si je fait pas ca j'ai un freeze de mon scrolling quand quand le texte s'affiche, et dans mon jeux ca fait pas très beau   Smiley C'est artisanal hein Azn? mais c'est bien ce qui se passe : j'ai plusieurs chose qui se font en même temps Wink

Non non je suis pas un geek guru! Azn je suis plutot un con guru ! Grin

Moi je dirais: Puté, t'es un guru, cong ! (avé l'assen)
Je comprends que cette technique a un intéret, comme expliqé par Mollusk, si la boucle principale ne tourne pas précisément à 60/s et surtout, ne veut pas s'en soucier...

Mais dans ton exemple (qui n'est peut-etre qu'un vue partielle de ton code, d'où mon intéprétation), ton "while" attend la VBL à chaque tour de boucle... et dans la VBL, tu fais quoi... entre autes, tu scrolles...

Du coup, question de noob que je pose, pourquoi tu ne pourrais pas simplement faire ca, pourquoi dis-tu que ca freeze... ? :

Code:
nletters = 0; 
letter = 0;
    while (letter == nletters) {
        nletters ++;
letter = PA_BoxText(0, 2, 4, 18, 15, "salut les gars!!!", nletters);
        SCROLL();
PA_WaitForVBL();
    }

faudrait que je teste... je ne comprends pô
Journalisée
Mollusk Hors ligne
Administrateur
*****
Messages: 3537


Voir le profil WWW
Ne vous posez pas de questions, codez !

« Réponse #48 : 30 Novembre 2007, 14:15:32 »

Moi je dis qu'il pourrait Azn
Journalisée

frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #49 : 30 Novembre 2007, 14:19:38 »

Moi je dis qu'il pourrait Azn

c'est ce qui me semblait... en fait son code revient à dire:  (si j'ai tout compris)
Code:
nletters = 0; 
letter = 0;
    while (letter == nletters){
        _appelle_moi_SROLL_à_la_fin_du_VBL    //PA_VBLFunctionInit(SCROLL);
  nletters ++;
letter = PA_BoxText(0, 2, 4, 18, 15, "salut les gars!!!", nletters);
_attend_VBL //PA_WaitForVBL();
    }
    _n'appelle_plus_SCROLL_a_la_fin_du_vbl //PA_VBLFunctionReset();

Journalisée
Toiletking Hors ligne
Mega Member
***
Messages: 1293


Voir le profil WWW
"Caca Boudin!"

« Réponse #50 : 30 Novembre 2007, 14:20:15 »

Bah  je sais plus, j'ai du m'enmeller a fond avec des switchs un moment, (pour gerer des situation différente) et sa m'arrangeait plus de faire comme ca Azn (c'est possible que j'ai pas penser à ca aussi, vu que ca fait super longtemps que je suis dessus et que je suis une grosse noob Grin ou un soir ou j'étais fatigué... Wink)

Edit : tu le fait super bien ton accent  Cheesy


Edit2 : pis comme ca mon bô scrolling il restera toujours fluide, quelque quoi soit les situations (si je charges 4 gif de 512*512 sur 4 bg en 16bit?  Cheesy )
« Dernière édition: 30 Novembre 2007, 14:29:13 par Toiletking » Journalisée
frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #51 : 30 Novembre 2007, 14:23:30 »

Bon mais tout ca c'est cool, ca a permis d'aborder ce sujet du refresh et des vbl, qui n'est pas évident, et pourtant c'est la base, on s'appuie tous (sans le savoir parfois) sur ce fameux appel qui a lieu 60 fois par secondes !

En fait c'est carrément tout nouveau pour moi... c'est une façon de penser bien différente ! Mais ca fait travailler les neurones, c'est sympa. (comme ce forum !)  Tongue
Journalisée
The_Pimousse Hors ligne
Sr. Member
****
Messages: 353


Voir le profil
« Réponse #52 : 30 Novembre 2007, 14:34:13 »

+1 ce que j'aime le plus dans tout ca c'est l'emulation qui en ressort Smiley

J'adore le concept de remplacer "PA_WaitForVBL" par un "GA_WaitForVBL" ....  Wink chacun ses manies, et je m'imagine deja faire un superbe fond anime à la "Stravingo" dans Setsuko Puzzle (qui m'a toujours laisse pantois) !
Journalisée

L'experience, c'est le nom que l'on donne a ses erreurs
frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #53 : 30 Novembre 2007, 14:58:10 »

+1 ce que j'aime le plus dans tout ca c'est l'emulation qui en ressort Smiley

J'adore le concept de remplacer "PA_WaitForVBL" par un "GA_WaitForVBL" ....  Wink chacun ses manies, et je m'imagine deja faire un superbe fond anime à la "Stravingo" dans Setsuko Puzzle (qui m'a toujours laisse pantois) !


j'avoue (honnêtement) ne rien comprendre... il s'agit surement d'humour, mais je ne capte pas... Private Joke ?
Journalisée
Toiletking Hors ligne
Mega Member
***
Messages: 1293


Voir le profil WWW
"Caca Boudin!"

« Réponse #54 : 30 Novembre 2007, 15:09:33 »

geek arsenal librairie?   Grin
Journalisée
frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #55 : 30 Novembre 2007, 15:20:13 »

geek arsenal librairie?   Grin

excellent ! Aaah pour Stravingo, je viens de comprendre ...  il a effectivement un "Setsuzoku no Puzzle"
no$GBA prétend qu'il y a 250.000 erreurs par seconde, n'empeche que c'est zoli....

Mollusk dirait que c'est tout con !! Un bete scrolling et une bidouille de palette, non ?  Azn
Journalisée
The_Pimousse Hors ligne
Sr. Member
****
Messages: 353


Voir le profil
« Réponse #56 : 30 Novembre 2007, 15:22:56 »

Totalement private joke ... je m'appelle Gaël....
Donc quand j'ai besoin d'une fonction "passe partout" je la prefixe par : "GA_" ...  j'ai dans mon "arsenal" des fonctions du type : u16 GA_SpriteTouched(void), GA_Wait(u32 dixiemedesecondes) ...
... Mollusk à bien des MomoRefresh lui  Tongue

EDIT : Setsuzoku no Puzzle est une reference pour moi tellement c'est joli ... et fluide
Journalisée

L'experience, c'est le nom que l'on donne a ses erreurs
Toiletking Hors ligne
Mega Member
***
Messages: 1293


Voir le profil WWW
"Caca Boudin!"

« Réponse #57 : 30 Novembre 2007, 15:39:30 »

bah, de tout facon, c'est la palib qui fait tout hein?  Wink
Journalisée
frozenjazz Hors ligne
Full Member
***
Messages: 209


Voir le profil
« Réponse #58 : 30 Novembre 2007, 15:46:59 »

Totalement private joke ... je m'appelle Gaël....
Donc quand j'ai besoin d'une fonction "passe partout" je la prefixe par : "GA_" ...  j'ai dans mon "arsenal" des fonctions du type : u16 GA_SpriteTouched(void), GA_Wait(u32 dixiemedesecondes) ...
... Mollusk à bien des MomoRefresh lui  Tongue

EDIT : Setsuzoku no Puzzle est une reference pour moi tellement c'est joli ... et fluide

ok !!!! Fluide, faut que je teste sur une vraie DS, sur no$GBA, ca ne le fait pas du tout...

Pour ton GA_Wait(u32 dixiemedesecondes) c'est cool.... tu peux attendre longtemps avec ca  Grin  (environ 13 ans si mon calcul est bon !!)

C'est une bonne habitude de préfixer ses méthodes, tiens, faudrait que je le fasse aussi, ca permet d'éviter le "name clashing"...
Journalisée
PypeBros Hors ligne
Hero Member
*****
Messages: 707


Voir le profil WWW
Posez-vous les bonnes questions

« Réponse #59 : 30 Novembre 2007, 17:05:35 »

no$GBA prétend qu'il y a 250.000 erreurs par seconde, n'empeche que c'est zoli....

Mollusk dirait que c'est tout con !! Un bete scrolling et une bidouille de palette, non ?  Azn
un plasma, en fait. un des plus vieux effets 2D de la démoscène -- auquel je n'ai jamais rien compris  whistle
http://mzsolt.wordpress.com/ te plaira, si ce genre d'effet te branche ...
Journalisée

Pages: 1 2 3 [4] 5   Haut de page
Imprimer

Aller à: