Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 893 263

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Démo Thank You en Hollywood

Démo Thank You en Hollywood#2333

5Contributeur(s)
K-Lzzd10hsinisrusartblinkElwood
3 Modérateur(s)
K-LElwoodcorto
K-L K-Licon_post
Quand je disais que développer avec du Hollywood, c'était lent, je rigolais pas :

La démo Thank You (qui a le mérite d'avoir été créée et qui essaye de reproduire les effets d'antan) te met ton CPU à 100% (sur X1000) et n'a absolument aucune fluidité. La musique, au format OGG, s'en sort pas trop mal.

Bref, ArtBlink et Sinisrus, vous m'avez dit qu'on pouvait faire des choses rapides, vous avez un peu plus d'un an et demi pour me préparer une chouette démo (et pour la zik, rapprochez-vous de Pseudaxos ;-) ).

A télécharger sur OS4Depot
--
AmigaONE X1000/1,8 Ghz (A-Eon), Radeon RX560, 2 Go de Ram et OS4.1 FE
zzd10h zzd10hicon_post
as-tu essayé avec l'option hwgfx ?

PS : rien ? voir mais, KL, reçois-tu mes mails ? ca fait 2 fois que je te réponds en te posant des questions en retour mais rien... 
sinisrus sinisrusicon_post
Peut importe les options c'est cpu à 100%
Bon c'est clair une démo en hollywood c'est peut être pas le meilleur langage pour faire ça

Après je ne suis pas un pro du code non plus mais je pense qu'on peut faire des truc simpa et fluide (peut être pas une demo par contre)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
artblink artblinkicon_post
Nan mais là, en 800x600, sont code est vraiment POURRIE

Hollywood peu être lent, mais là, c'est du grand n'importe quoi, il est possible de faire largement plus rapide, le problème de la lenteur c'est qu'il utilise pas le bon moteur et il utilise les effets intégré dans hollywood qui sont la pour des présentation pas pour des démos.

Cette démo ne reflète pas du tout les capacités d'Hollywood

Encore un gars qui c'est pas se que c'est que des variables locales et c'est sûrement un code qui contient une multitude de function... et plus il y a d'appel de function et plus le code rame.

Il faut d'abord faire des functions pour se retrouver dans son code et une fois le code terminé, on les élimines pour optimiser, les gains sont énorme

Et plutôt que d'utiliser des variables global, on utilise des tables et pas des tables multi-dimensionel, mais des tables Simples, oui ça alourdie le script, mais c'est carrément plus rapide a l'exécution, en plus, il utilise des commandes de traçage pour les parties hautes et basses de l'écran (partie verte)... nom mais là... c'est le summum

Mon moteur scroll multidirectionnel est passé de 8FPS avec des commandes de traçage à 40 FPS avec une autre méthode (brush)... donc le traçage pour un scroll, faut être fou

Non, c'est pas une démo, c'est une présentation, une démo, normalement, c'est optimisé ;-)

Message édité par : artblink / 18-08-2016 10:40
Elwood Elwoodicon_post
cette histoire de "trop de fonctions" me chiffonnent beaucoup. En C des fonctions il y en a plein. Je vais demander à Andreas our en savoir plus tellement ça m'étonne.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
artblink artblinkicon_post
Function Haut()
...code haut
endfunction

Function Bas()
... code bas
endfunction

Function Gauche()
code gauche
endfunction

Function Droite()
code droite
endfunction

Au dessus, le code est plus lent que celui du dessous

Function direction
code haut
code bas
code gauche
code droite
endfunction




Le code comme en haut ne peu avoir beaucoup de variable local car la variable n'est valide que dans une function
Plus il y a de code dans une function et plus on peut utiliser de variable local.

Pour le code façon 4 functions, il faut utiliser des variable global voir retourner des valeurs a l'aide de la function mais franchement, c'est pas plus rapide.

Les variables local, c'est le type de variable a utiliser le plus souvent possible quitte a en créer 2 voir 3 de plus pour un résultat identique avec 1 variable global 

J'ai testé les rapidités d'exécution des commandes d'hollywood (rappelez-vous il y a 2 ans je crois, les tests que vous aviez fait avec mon petit utilitaire dont Henes (je crois... ou un amigaiste qui me blairait pas sur AI a une époque) me disait que mes tests ne refléter rien... bin si ;-)

Message édité par : artblink / 18-08-2016 21:15
Elwood Elwoodicon_post
Oui j'ai compris l'idée mais je trouve ça pas normal. Les fonctions et le passage des paramètres ça existe dans plein de langages et ça ne doit pas avoir un impact aussi important sur les perfs.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
artblink artblinkicon_post
Bin sous hollywood, tu perd énormément au bout d'un moment, et plus tu fais passer des valeurs via des function ex:

Function Direction(Gauche,droite,haut,bas)

Tu perds beaucoup, c'est allucinant

Sur les autres languages... est-ce que quelqu'un a déjà essayé de faire des tests ?

Pas sûr 
sinisrus sinisrusicon_post
Et tu préconise de faire comment a la place tu aurais un exemple?
Si tu as d'autre exemple d'optimisation n'hésite pas j'ai besoin d'apprendre de ton expérience :-)
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
artblink artblinkicon_post
J'ai pris l'habitude de faire une fonction général et plus 20 d'affilé
De faire des boucle local (For Local X=0 to 200000)
De ne JAMAIS diviser par 2 mais multiplier par 0.5
D'ouvrir des écrans 16 bits et jamais 32 bit (de toutes façon on je n'exploiterai jamais la palette complète)
D'éviter au max d'utiliser des tables multidimensionnel (pas Table[X][Y][Z] sur tout poour des utilisation en temps réel mais Table1[X],Table2[Y],Table3[Z]
De ne JAMAIS utiliser les calques/sprites et commande de traçage en temps réel (faut précalculer et c'est une galère)
TJRS les commandes de la section BRUSH même pour du texte
Jamais utiliser le moteur antialiasing d'hollywood et surtout encore moins avec les commandes de traçage (line/box/etc...)

Si déjà les combines ci dessus sont utilisé, la vitesse du programme peut être multiplier par 5 en FPS sur MicroAone... alors sur un X1000 ou une 460.... ça doit déchirer ;-)



Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme