| ScrollBox (barre de défilement) | |
|
+4Chulien Mylad nicoulas bibi675 8 participants |
|
Auteur | Message |
---|
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 19:34 | |
| Il l'a dit avant que tu optimise je crois |
|
| |
Invité Invité
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 19:37 | |
| - bibi675 a écrit:
- Je vais rajouter ça en conséquences :
Configuration minimale : _Carte Graphique GeForce série 6 avec au moins 32 Mo de mémoire vidéo. _Processeur Pentium 4 @ 1.2 Ghz, AMD Athlon @ 1.6 Ghz _128 Mo de RAM. tiens on dirait la configuration optimale pour soul reaver 2 |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 19:37 | |
| - Topaze22 a écrit:
- Et Playboy n'a peu être pas encore mis en ligne la dernière et ultime version de son système, si tu lui envois un MP, je pense qu'il te l'enverra.
Je crois que c'est sa version ultime qu'il m'a fourni... A moins que je me trompe (ça serait pas la première fois :gniah: ). |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 19:40 | |
| - shm31 a écrit:
- bibi675 a écrit:
- Je vais rajouter ça en conséquences :
Configuration minimale : _Carte Graphique GeForce série 6 avec au moins 32 Mo de mémoire vidéo. _Processeur Pentium 4 @ 1.2 Ghz, AMD Athlon @ 1.6 Ghz _128 Mo de RAM. tiens on dirait la configuration optimale pour soul reaver 2 C'est la configuration minimale pour le système de scrolling ET le jeu. Moi perso, un jeu avec des scroll-box, moi je prend pas... |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| |
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 20:35 | |
| il semblerait que j'ai fais une erreur d'interprétation des screenshoots de ton benchmark [sur la première page de ce topique].
Je pensais que ton système pompait plus quand on été plus bas. Mais je me suis trompé ? A moins que cela était valable dans tes vieilles versions ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:01 | |
| Oh non non, le deuxième screenshot montre en fait le moment ou le système calcule c'est à dire quand on scroll constamment, actuellement le système ne pompe rien où que tu sois dans la scroll-box, cela pompe (et légèrement) uniquement au moment ou tu fais défiler la scroll-box.
Donc récapitulatif : _le système ne pompe que lorsque l'on fait défiler le texte (~5000 FPS); _si la scroll-box n'est pas utilisée, juste affichée, où que tu sois dans le défilement, ça ne pompe quasiment rien (j'arrive à 7000 FPS ce qui n'est pas rien); _le premier screenshot des benchmarks est la "consommation" en FPS en idle (juste affichée pas utilisée, faudrait peut-être que je fasse une vidéo pour te montrer ça mais le logiciel de capture va bouffer des perfs);
Ensuite mise à jour : _l'ancien système qui drawait le texte à chaque steps n'existe plus, en effet il consommait énormément plus, je l'ai donc remplacé par un un surface_copy() donc ça ne prend plus rien en performances mais ça utilise plus de mémoire vidéo... _et je rappelle encore une fois que les FPS ne varient pas quelque soit l'endroit ou tu te trouves dans la scroll-box.
Désolé de ne pas avoir pas été clair... Bonne soirée, bibi675 |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:23 | |
| Lol, non non, tu été clair, et ce que j'ai dis étais juste (au moment ou je l'ai dis), mais il n'est plus valable depuis le surface copy (élément que je t'avais conseillé et que tu as très bien fais). Et j'ai testé moi même le "idle" et le scroling tout à l'heure, donc j'ai bien vérifié, confusion conclue Système vraiment impeccable et sans faille semble t'il ! j'espère que ce sera utile à quelqu'un, car le problème sur GM, c'est que beaucoup de monde fait des systèmes et personnes n'utilise jamais les systèmes des autres. (à par moi qui ai des remerciements de plusieurs pages sur tout ce dont je me sers...) |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:45 | |
| Au fait, t'aurais pas oublié de libérer la mémoire prise par la copie de surface après en avoir fait une autre (copie) ? |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:46 | |
| - Topaze22 a écrit:
- Système vraiment impeccable et sans faille semble t'il !
Merci ^^ surtout venant de toi. - Topaze22 a écrit:
- j'espère que ce sera utile à quelqu'un, car le problème sur GM, c'est que beaucoup de monde fait des systèmes et personnes n'utilise jamais les systèmes des autres. (à par moi qui ai des remerciements de plusieurs pages sur tout ce dont je me sers...)
Totalement vrai. Et sinon je peux interpréter ton précédent message sans qu'il soit barré... ou pas ? :sourire: |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:47 | |
| Et moi j'ai pas droit à une réponse ?
Dernière édition par nicoulas le Mar 17 Mar 2009 - 21:47, édité 1 fois |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:47 | |
| - nicoulas a écrit:
- Au fait, t'aurais pas oublié de libérer la mémoire prise par la copie de surface après en avoir fait une autre (copie) ?
Le texte de base doit rester entier car il sert aux futurs découpages donc non je n'ai pas de surface_free(). Regarde un peu le code de draw_scroll_refresh(), tu comprendras. :fier: |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:48 | |
| :gniah: C'est le deuxième "Quelqu'un a posté avant vous". |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:48 | |
| Oui ça je sais, mais je te demandais si t'avais pas oublié de supprimer les copies de surfaces une fois qu'elles ne sont plus utilisées. |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 21:53 | |
| - bibi675 a écrit:
- nicoulas a écrit:
- Au fait, t'aurais pas oublié de libérer la mémoire prise par la copie de surface après en avoir fait une autre (copie) ?
Le texte de base doit rester entier car il sert aux futurs découpages donc non je n'ai pas de surface_free(). Regarde un peu le code de draw_scroll_refresh(), tu comprendras. :fier: :hehe: |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 22:05 | |
| Oui mais je ne te parle pas de la surface de base.
Tu utilise surface_copy(), j'imagine que cette fonction doit retourner une copie d'une surface (ou au moins un morceau de copie d'une surface). Donc je te demandais si les copies de la surface de base étaient supprimées à un moment, histoire de pas saturer la mémoire.
Puis bon j'ai juste jeté un coup d'oeil au code, j'ai pas trop envie de me plonger dans les entrailles ton système :nezrouge: |
|
| |
Topaze22 *Excellent utilisateur*
Messages : 6213 Localisation : Sur la Lune Projet Actuel : Projet HELLO/TOPAZE22 Mario Bros World
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 22:53 | |
| C'est sûr que si à chaque foi, on se plongeait dans les meilleurs codes, on a pas finis ^^.
Et je pense qu'il n'a pas besoin de libérer de la mémoire la capture puisqu'il doit toujours se servir de la même zone (il dessine toujours ce qui se trouve à la page 128 du livre, simplement, quand l'image doit changer, il efface cette page 128 puis redessine ce qu'il faut à la page 128 avant de se remettre à l'afficher). Il affiche toujours le même endroit dans la mémoire, donc il n'a pas besoins de libérer l'espace puisqu'il s'en ressert.
Enfin, j'ai pas regarder ses codes, mais je suppose. Ce serait le mieux en tout cas. |
|
| |
Playboy Utilisateur confirmé: Rang ***
Messages : 699 Localisation : Sur la lune Projet Actuel : Sur le pont du Charles de Playboy
| Sujet: Re: ScrollBox (barre de défilement) Mar 17 Mar 2009 - 23:21 | |
| Je viens préciser certaine choses ^^". J'ai fait des comparaisons entre mon système et le sien et dans l'état actuel je me fais mettre une tolé de 2000 fps XD sur son ordi et sur le mien ça donne 800 fps d'écart ^^".
Maintenant comme je l'ai dit dans mon mp c'est mon code qui est sans l'amélioration de topaze ça ^^" (c'est de faire afficher au final qu'une image) Donc heuu je sais pas si mon système avec cet ajout serait plus performant il faudrait le faire mais j'ai vraiment pas le temps là .... trop de choses .... La GME, mon pack à sortir, AC dont j'ai terminé les sorts et faire l'IA du morpion ... Je crois que je suis blindé donc bon si quelqu'un veut faire cette modif pour copier l'image après l'affichage de mon système pour ensuite ne faire afficher qu'une image sans calcul je suis partant et fourni le code.
Mais je redit GG pour ce système !! |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mer 18 Mar 2009 - 16:00 | |
| @ Nicoulas : non il ne faut pas libérer la mémoire prise par la surface car mon système fonctionne comme ça tu as une surface qui contient tout le texte et qui n'est pas affichée et une autre qui sert à afficher la portion de la surface de base voulue donc il n'y a aucune surface à libérer de la mémoire. @ Topaze : oui c'est cela mais pourquoi page 128 ? :gniah: - Topaze22 a écrit:
- C'est sûr que si à chaque foi, on se plongeait dans les meilleurs codes, on a pas finis ^^.
Wahou encore un super compliment merci Topaze ^^. @ Playboy : tout d'abord merci mais je tiens à préciser que ton système utilise des draws et le mien des surfaces donc ce n'est pas comparable ensuite il ne comporte pas de système permettant de scroller le texte donc raison de plus pour ne pas effectuer de comparaison. Sinon je pense sortir une dernière version ultime qui augmenterait les FPS en mettant le rectangle et la bordure de la barre de scrolling dans une surface (encore une ^^). |
|
| |
nicoulas *Excellent utilisateur*
Messages : 6030 Localisation : Dordogne Projet Actuel : Croustaface Tower Defense
| Sujet: Re: ScrollBox (barre de défilement) Mer 18 Mar 2009 - 18:03 | |
| - bibi675 a écrit:
- @ Nicoulas : non il ne faut pas libérer la mémoire prise par la surface car mon système fonctionne comme ça tu as une surface qui contient tout le texte et qui n'est pas affichée et une autre qui sert à afficher la portion de la surface de base voulue donc il n'y a aucune surface à libérer de la mémoire.
Okok, mais je me demandais si en remplaçant la surface qui affiche la portion de la surface de base, ça ne saturait pas la mémoire (je connais pas trop les surfaces, donc je connais pas toutes les subtilités ). Genre si tu fais dans step ou dans draw : lolol = background_create_from_screen() ou lolol = background_duplicate() La mémoire utilisée va augmenter en permanence, sauf si tu supprime l'ancien background juste avant d'en créer un nouveau : du style : background_delete(lolol) lolol = background_create_from_screen() Mais après je sais pas si ça va être pareil pour les surfaces, mais peut être que çà vaut le coup que t'essaye :nah: |
|
| |
bibi675 Utilisateur confirmé: Rang *****
Messages : 2456 Localisation : Oise Projet Actuel : Jeu par navigateur original
| Sujet: Re: ScrollBox (barre de défilement) Mer 18 Mar 2009 - 18:43 | |
| Je fais ça avant de copier la surface (dw_sid est la surface d'affichage) : - Code:
-
surface_set_target(dw_sid); draw_clear(c_gray); surface_reset_target(); Je ne pense pas que les données de la surface s'accumulent... Enfin je l'ai pas remarqué sur mon PC, je vais scroller pendant 5 minutes pour voir. EDIT : bah non pas de changements... |
|
| |
Contenu sponsorisé
| Sujet: Re: ScrollBox (barre de défilement) | |
| |
|
| |
| ScrollBox (barre de défilement) | |
|