Benchmark avec synchronisation sur l'affichage

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Anonyme

Message par Anonyme »

Dommage que je puisse testé , ca m'intéresse beaucoup , sais tu si ( a tout hazard ) on peu via opengl , faire les même manip , j'ai cherché sommairement sans trouvé de réponse. :D
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

On doit pouvoir. Stefan se cale beaucoup mieux sur la VBL, notamment à l'aide d'un timer haute résolution. Il y a donc peut-être moyen de n'utiliser qu'un timer. Avec Windows c'est dur, car il y a toujours des tâches qui te font perdre la synchro. Faudrait que je vois si on peut faire des interruptions vraiment fiables.
Anonyme

Message par Anonyme »

Logiquement , sous windows , une application "fullscreen" n'est tel pas priviligié ? il me semble que oui. je me trompe peut être ??
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Oui, mais tu vois dans mon programme que les lignes de temps sont plutôt "mobiles". Sur un système monotâche, elles ne bougeraient pas d'un pouce. Sur amiga avec le copper, on pouvait s'ajuster sur le spot à 8 pixels près... Sous DOS, j'arrivais à être synchro aussi (à la demi-ligne)! Mais là, on voit bien que windows a d'autres choses à faire, et que notre programme n'a pas toujours la main au même endroit. J'ai poussé les priorités pour être sûr d'être privilégié, mais si d'autres tâches ont le même niveau de priorité (c'est le cas des drivers par exemple), on perds quelques microsecondes, et nos lignes se décalent d'autant.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

djes a écrit :Ollivier> Rah là là, qu'est-ce que tu es rancunier! Il n'y a strictement aucun rapport entre ton programme et le mien, je ne vois pas ce que tu vas chercher! Je ne l'ai pas fait non plus pour te casser du sucre sur le dos (c'est bien de moi dont je parlais d'ailleurs la dernière fois). Il est vrai que la question que tu te posais sur les performances m'a fait dévier sur la fluidité, qui n'est pas synonyme.

Mon programme permet de mesurer visuellement la performance d'une routine. J'y ai intégré d'autres choses, à titre d'exemple pour les débutants, tout en n'étant pas la panacée. Ainsi je ne teste pas les valeurs de retour des fonctions, c'est très mal!

Si tu n'es pas bête, tu sauras en tirer parti. Tu peux ainsi parfaitement mettre ton code à la place de mes étoiles, pour mesurer grâce au spot si ogre est plus performant que dx7 ou dx9. Ou tu peux continuer à te braquer et faire ton paon, mais dans ce cas je te conseille de relire la netiquette.
Je ne me braque pas, et le paon termine souvent dans un estomac. Pour ta part, quel parti, tires-tu d'Ogre? Ogre n'est pas plus ou moins performant que Directx9 : il UTILISE DirectX9...
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

sur le paon : :lol: ;) ; désolé d'avoir été un peu brusque...

Pour ogre, je t'ai déjà dit que je l'avais utilisé pour Purebreaker... Et si tu cherches un peu, tu verras que je connais un petit peu, pas beaucoup, mais un peu quand même. J'ai fait de super trucs avec, et je le supporte!

Quant à son rapport avec DirectX9 (sous windows) : s'il l'utilise, c'est bien parce qu'il s'agit d'une surcouche... Comme DirectX est une surcouche au hard.
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Roooh, mais ça c'est cool!
Merci!

Reste la question qui tue: Est ce que vous avez un moyen de faire fonctionner ça en mode fenêtré?
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Merci, de ta part ça me fait plaisir! Oui, ça fonctionne en mode fenêtré, bien qu'il y ait un gros décalage! C'est aussi un peu moins stable, le système prend plus de cycles pour lui.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

sur mon nc10 ça ne marche pas !!

erreur ecriture memory au moment d'un create sprite() !!

mais bon ... pas grave
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

@Djes

Beh alors là, je suis bluffé. J'ai réussi à trouver une carte graphique qui me plante la fonction ScrollMaterial(), dans le code des perfs 2D, si on crée plus de deux couches. La fonction est lente et pas fluide pour un rond!

Alors... à reculons... Je me dis "ben teste le code de Djes"... Mais vraiment à reculons, avec les dents qui grincent et tout et tout!

Donc je pique ton code ici, je l'exécute : fluidité impeccable! (Alors que sur l'autre carte graphique, Ogre fonctionne nickel alors que ton code est médiocre)

Comme quoi, c'est ce que j'appelle me la mettre derrière l'oreille!

Le paon!
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Dobro> Je n'aurais pas pensé que ça plante sur un createsprite! Décidément, tout est possible :(
C'est dommage, je suis sûr que tu aurais apprécié...

Ollivier> Pas facile d'avoir des codes qui marchent partout... Cette carte est compatible DX9?
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

DirectX9 sur les deux.

En gros, on peut avoir une config qui accepte très bien Ogre (les fonctions 3D) et moins bien les sprites, et vice-versa.

Ollivier
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Il serait intéressant de poster des configs alors.

Chez moi ça marche parfaitement (et très rapidement):
C2Q @ 3.2Ghz sur une Asus P5E
2*1 Go Ballistix tracer @ 1066 Mhz
Geforce 8800 GTX
Windows XP Corporate SP3 (très custom)
Sur mes portables ça marche très bien aussi (mais assez logiquement, la barre est plus bas):
C2D @ 2.4 Ghz
2 Go de ram noname dont je ne connais pas les spec (bios de merde)
Geforce 9600 Go
Même build de windows.
C2D @1.8ghz
2 Go de ram noname aussi.
GMA 950
Toujours la même build niveau OS.
Sur mon HTPC, c'est toujours pareil, parfait, pourtant c'est vraiment plus une bécane d'actualité:
Athlon 64 X2 @ 3.2 Ghz sur mobo HP (base Nforce 4)
2*1 Go de ram noname
Radéon HD3400
Windows XP Corp SP3 avec un shell custom.
Bref, sur des configs assez hétéroclites ça marche partout.
Avatar de l’utilisateur
djes
Messages : 4252
Inscription : ven. 11/févr./2005 17:34
Localisation : Arras, France

Message par djes »

Ca devrait marcher à peu près partout, d'ailleurs je pense que Fred l'utilise pour sa synchro au timer... Et SM pour son subsystem dx9 l'utilise.

Testé sur Athlon XP 1800+ / Geforce MX 440
Athlon XP 1600+ / GeForce 6600
Intel 2400 / Quadro 2 PCI (!)
-De mémoire- Portable AMD Turon (oublié la fréq) / GeForce 7600 (m'a permis de détecter un processus qui bouffait du proc ;))

Tout marche nickel sur ces configs...
beauregard
Messages : 1307
Inscription : dim. 08/juil./2007 18:32
Localisation : Toulouse

Message par beauregard »

Ogre exige un minimum de performance quand même, ma vieille machine avec sa petite carte graphique le trouvant bien trop gourmand...

je pense que pour pb, et c'est vrai pour amos et autre, vaut mieux suivre les pas du concepteur. Et dans ce sens les sprites3D sont obligatoire car Fred a optimisé la chose. D'après mes dernières réflexions donc, il faut tapisser le fond avec des sprites 3D immobile, puis faire mumuse avec des sprite3D( et éventuellement avec 2D classique pour les codeurs confirmés).

eddy travaille sur ogre :)
http://www.purebasic.fr/english/viewtopic.php?t=36775
config de mon ordi: seven, directx11, Pentium(R) DualCore E5700, RadeonHD 4550 512MB, PureBasic 4.61 x86
Répondre