Eval vitesse d'un programme sur differents amigas
-
A600 – Vampire « V2 » premier modèle.
@_sam_, sur le dernier Monkey de « tôt ce matin 😉 » :
* gcc 2.95.3 – 19.247 fps / 13.416 fps
* gcc 3.2.2 – 14.144 fps / 13.063 fps
* vbcc – 17.119 fps / 19.731 fps
* sasc – 11.460 fps / 16.065 fps
* gcc 6.3.1b – 21.706 fps / 14.172 fps
* gcc 6.4.1b – 20.861 fps / 20.434 fps
Comme GoodChip, c’est ancienne version/nouvelle version. Amusant le résultat de sasc non ?
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDISAS/C semble être bien meilleure avec les entiers qu’avec les floats, idem avec VBCC qui s’en sort presque aussi bien que le meilleur d’avant. GCC en revanche ne s’en sorte vraiment pas bien ce coup-ci. Comme quoi il est délicat de choisir le bon compilo à priori.
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Pour ma part je ne comprend pas la disparité entre les résultats de Huggyone et les miens.
Voici mon process de test :
– je lance en ligne de commande
– j’attends une rotation complète (face du singe revenue pile vers moi)
– je retranscrit les fps affichés
Car en fonction du moment on l’on quitte, le résultat peut prendre ou perdre 30%
@Huggyone : Qu’utilises-tu comme Core, vitesse (x11?), et distribution/release, version de SAGA ?
Sylvain aka goodchip
j’ai débusqué le lièvre… il était dans mon code:
[code]
// align to cybergfx
width = GetCyberMapAttr(RP->BitMap,CYBRMATTR_XMOD)>>2;
[/code]
est complètement faux quand on a un écran 24bits. En effet >>2 divise par 4, alors qu’on devrait diviser par 3. Résulat: on utilise que 3/4 de la largeur totale de l’écran, d’où bande grise à droite 🙁Le bon code devrait être:
[code]
width = GetCyberMapAttr(RP->BitMap,CYBRMATTR_XMOD)/GetCyberMapAttr(RP->BitMap,CYBRMATTR_BPPIX);
[/code]Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)À vrai dire, je ne sais pas comment est géré la vitesse du core actuellement sur les Vampire puisque je pensais que c’etait un paramètre du FPGA et non le FPGA lui-même qui gérait le multiplicateur. Bref, j’ai le core officiel téléchargé sur le site Apollo pour ma Vampire 600 « V2 », l’un des tous premiers modèles soudé manuellement par Majsta. Je suppose en tout cas que c’est du « x11 » et le gold 2.7.
J’utilise le CoffinOS r48 de base sur une CF de 32 Go, sans aucune modification. Résolution 1024×768 ARGB 32 bits. SAGA 1.0 (dernière release avant la 1.1 que je vois être dispo depuis avant-hier !)
Bref, du standard de chez standard !
Ah oui, j’ai également une extension A604n, des fois que ça ferait une différence.
J’utilise le même processus que Goodchip en laissant deux rotations complètes de la tête de singe. Voilà tout !
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDIPetite mise à jour qui j’espère fixe le pb de la zone grise: >>ici<<
J’ai aussi ajouté le support de la roulette souris ou des touches flèches haut/bas pour s’éloigner de la tête. Evidemment, plus elle est grosse et plus c’est lent… (heuuu non pas de double sens là dedans, bande de pervers 🙂 😉 😀 ))
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)@huggyone, moi j’attend qu’une seule rotation, toi deux. Il faudrait qu’on s’accorde sur la méthodologie pour être certain de donner des résultats comparables. J’opte pour 2 tours complets comme toi (très exactement), ça te vas ?
@_sam_: je refais les tests avec cette nouvelle version, le SAGA v1.1 et fréquence exacte du Core.
Sylvain aka goodchip
Peu importe le nb de rotations je pense. Le fps affiché est la moyenne glissantes des 25 dernières images. Une rotation fait plus de 100 images je pense. Par contre suivant les parties masquées de la tête et même suivant leur couleur (uniforme ou avec gradient), l’algo de rendu est + ou – rapide, ce qui explique que ne ce soit pas stable.
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)C’est reparti pour un tour… (SAGA 1.1 et Gold 2.7, et – merci à Zooz et Flype – Core x11 à 78 MHz)
A600 – Vampire « V2 » premier modèle.
@_sam_, sur le dernier Monkey du 08/03 :
* gcc 2.95.3 – 13.416 fps / 38.369 fps… (mais juste un fond gris d’affiché avec l’affichage des fps !)
* gcc 3.2.2 – )13.063 fps / 39.492 fps (idem que le 2.95.3)
* vbcc – 19.731 fps / 16.986 fps (affichage ok)
* sasc – 16.065 fps / 13.275 fps (affichage ok)
* gcc 6.3.1b – 14.172 fps / 20.808 fps (affichage ok)
* gcc 6.4.1b – 20.434 fps / 21.065 fps (affichage ok)
version précédente / nouvelle version
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDIJe pense que l’idée de Thellier est pas mal, tu aurais moyen de faire cette modif (voir le script idéalement) ?
Le test sera bien plus juste si il est parfaitement reproductible et dans les mêmes conditions (je n’explique vraiment pas autrement ces différences tantôt supérieures tantôt inférieures avec celles Huggyone)
Sylvain aka goodchip
Merci pour les retours. Je vais essayer de voir pour ajouter une option « -benchmark » qui fait faire la même chose à tout le monde. Sinon je ne m’explique pas les gcc gris, mais on se doute que 38fps c’est un peu beaucoup pour du C 🙂
De ce que je comprends quand ca marche, la bordure grise n’apparrait plus, c’est bien ca?
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)Oui Sam, je confirme qu’il n’y a plus de bordure grise.
A500+ACA500 - A600+Vampire 2+indivision ECS - A1200+Vampire V2 1200 - Mac Mini 1.42 sous MOS - Just CPC 128k - CPC 6128 - Atari STE 4Mo/CosmosEx - Atari Falcon CT60/SuperVidel 🙂
C64C + 1541-II + Lecteur K7 + SD - Sharp X68000 CZ-601C 4Mo + CF - Sharp X68000 CZ-611C 10Mo + CF + ext. MIDIJe vais essayer de voir pour ajouter une option « -benchmark » qui fait faire la même chose à tout le monde.
voila, c’est fait: >>ici<<
J’ai aussi corrigé l’écran gris de tous les gcc<6. En fait c’est un bug de ces vieux gcc qui compilent [code]width = GetCyberMapAttr(RP->BitMap,CYBRMATTR_XMOD) / GetCyberMapAttr(RP->BitMap,CYBRMATTR_BPPIX);[/code] en un truc qui se traduit par width = 1. Du coup la tête du singe fait 1 pixel de large. Pas facile à voir!
Pour lancer le benchmark, j’ai ajouté un petit script CLI qu’on lance en tapant: [code]execute RUN-BENCHMARK.txt[/code]
Samuel.
Amiga A500 + GVP530 (8Mo/fpu/mmu/scsi) - en panne 🙁
A500 (+ 1Mo PPS), A1200 (Blizzard-IV/fpu/64Mo)
A500 Vampire V2+ ^8^ 🙂
(mais aussi TO8, TO8D, TO9. Groupe PULS.)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › Eval vitesse d'un programme sur differents amigas