Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Betas et WIPs » ExtGraph 2.xx... (50 réponse(s))
./REPRISE DU POST PRECEDENT (post n°19)   Marquer comme non lu.
Kevin Kofler Ecrit le: Jeudi 6 mai 2004 à 23:06 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


I added a new drawing mode : MASK, which use a MASK on 1 plane to mask the 2 planes of a big_vscreen (a sort of virtual screen). That allows to draw 3 planes on the screen for example (see perso.wanadoo.fr/jackiech...sshot.html ).
Before I wrote this mode, we needed to use a transparency mode (to have several planes on the screen), which lost one color (black or white). But now, the mask is applied (by anding the source and the destination), and then we can use a function to draw a map with the OR mode for example (so, we can use the 4 gray levels).

:)
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°20   Marquer comme non lu.
Sasume Ecrit le: Jeudi 6 mai 2004 à 23:13 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Ah, content que ça te plaise :)
Et content de voir que mon anglais n'est pas si obscur :)
    
./Post n°21   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 8 mai 2004 à 19:24 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Je vais faire une news à ce sujet sur TICT HQ.
Lionel Debroux - membre de TICT.
    
./Post n°22   Marquer comme non lu.
Sasume Ecrit le: Samedi 8 mai 2004 à 20:48 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

OK, cependant, ces nouvelles fonctions ne seront disponibles qu'avec la prochaine release.
Probablement pendant les vacances.
    
./Post n°23   Marquer comme non lu.
Lionel Debroux Ecrit le: Dimanche 23 mai 2004 à 19:29 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

Est-ce que tu as eu le temps de penser à quelque chose, après la bonne suggestion de Vertyos ?

En fait, le but premier de ce post (j'ai relu les posts précédents - mais je n'ai pas fait également de relance sur notre forum) était de chercher quelqu'un qui puisse me tester sur une vraie calculette (89 / 92+, ça devrait marcher sur V200, bien que je n'arrive pas à faire de binary) un programme kernel-based que j'ai fait (si si - j'ai d'ailleurs eu affaire à certaines bizarreries du kernel...) pour bencher quelques fonctions d'ExtGraph par rapport à celles de GraphLib - notamment la fonction de lignes, que nEUrOne m'a plusieurs fois dit être rapide.
Je ne fais pas confiance aux benches sur VTI uniquement.
Attention, il faut AMS 2.xx, donc PedroM ne peut pas tourner ce programme.
Lionel Debroux - membre de TICT.
    
./Post n°24   Marquer comme non lu.
Sasume Ecrit le: Dimanche 23 mai 2004 à 21:10 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Non, je n'ai pas eu de temps. J'aurai fini demain les projets scolaires, donc j'aurai à nouveau du temps libre.

Pour ton bench, pourquoi tu ne testes pas sur ta TI ?
    
./Post n°25   Marquer comme non lu.
mathiniste Ecrit le: Samedi 5 juin 2004 à 21:23 Déconnecté(e)    Voir le profil de mathiniste Envoyer un email à mathiniste Envoyer un message privé à mathiniste  

bizzarre pour la v200
la mort n'a aucun rapport avec nous.Quand nous sommes vivants, la mort n'est pas là et quand elle est là, nous ne sommes plus...
    
./Post n°26   Marquer comme non lu.
Sasume Ecrit le: Jeudi 1er juillet 2004 à 21:11 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Lionel> J'ai trouvé le moyen d'accélérer grandement les fonctions d'affichage par transparence, je te donnerai les modifs à faire quand j'aurai un peu de temps.
    
./Post n°27   Marquer comme non lu.
Sasume Ecrit le: Jeudi 1er juillet 2004 à 21:52 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Pour les fonctions TRANW :
Le code suivant suppose que :
d2.l = sprite shifté (plan 0)
d3.l = sprite shifté (plan 1)
a0.l = adresse de destination sur le plan 0
a1.l = adresse de destination sur le plan 1
  move.l  d3,d4
  not.l   d4
  and.l   (a0),d4
  or.l    d2,d4
  move.l  d4,(a0)

  not.l   d2
  and.l   (a1),d2
  or.l    d3,d2
  move.l  d2,(a1)


Pour les fonctions TRANB :
Les conditions de fonctionnement du code sont les mêmes
  move.l  d3,d4
  not.l   d4
  or.l    (a0),d4
  and.l   d2,d4
  move.l  d4,(a0)

  not.l   d2
  or.l    (a1),d2
  and.l   d3,d2
  move.l  d2,(a1)


Concernant les performances, il me semble que pour les fonctions TRANW, les performances sont améliorées de 14 clocks par ligne de sprite mais la fonction prend 4 octets en plus.
Pour les fonctions TRANB, on gagne 2 octets et 38 clocks :)

L'optimisation ASM est d'une élégance sans limite, mais je n'ai pas envie de modifier toutes les fonctions d'extgraph concernées (approximativement, il y a les fonctions __stkparm__, puis les __regparm__, et enfin, les fonctions clippées. Tout ça pour les 3 formats de sprites, ça nous fait déjà 9 fonctions mais cela est peut-être multiplié par 2 car on a aussi des versions Slow, puis peut-être des version interlacées).
Bref, je suis désolé de te demander de le faire, mais moi franchement, j'en ai ma claque des 50 versions de chaque fonction, ExtGraph est lourd à maintenir, je passe à autre chose.
Je te donnerai probablement toujours des idées d'optimisation, parce que je trouve qu'ExtGraph est intéressante pour les utilisateurs.
Je te donnerai probablement aussi des bases pour les futures fonctions (zoom, cercle, traçage de polygone, ...) mais en une seule version, pas 50.

Voilà voilà, bonne chance.
    
./Post n°28   Marquer comme non lu.
Sasume Ecrit le: Jeudi 1er juillet 2004 à 21:57 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Au fait, bien entendu, je n'ai pas testé mon code.
Donc teste sur une fonction et vérifie que les résultats sont corrects avant de corriger les autres fonctions.
    
./Post n°29   Marquer comme non lu.
Invité Ecrit le: Jeudi 1er juillet 2004 à 23:02 Déconnecté(e)    
 
Désolé, je me suis trompé de page.


-Edité le Jeudi 1er juillet 2004 à 23:19 par tnt-
    
./Post n°30   Marquer comme non lu.
Lionel Debroux Ecrit le: Vendredi 2 juillet 2004 à 09:51 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

L'optimisation ASM est d'une élégance sans limite, mais je n'ai pas envie de modifier toutes les fonctions d'extgraph concernées (approximativement, il y a les fonctions __stkparm__, puis les __regparm__, et enfin, les fonctions clippées. Tout ça pour les 3 formats de sprites, ça nous fait déjà 9 fonctions mais cela est peut-être multiplié par 2 car on a aussi des versions Slow, puis peut-être des version interlacées).

Tu triches sur deux points: les transparencies n'existent pas en __stkparm__, et les Slower ne sont pas maintenues.
Mais je comprends tout à fait que tu passes à autre chose, tu es libre.

> Au fait, bien entendu, je n'ai pas testé mon code.
Heureusement que je suis en vacances...
Lionel Debroux - membre de TICT.
    
./Post n°31   Marquer comme non lu.
Sasume Ecrit le: Vendredi 2 juillet 2004 à 10:05 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Oups !
En effet, j'avais oublié qu'il n'y a pas de stkparm pour les fonctions de transparence. Au temps pour moi.
    
./Post n°32   Marquer comme non lu.
Lionel Debroux Ecrit le: Vendredi 2 juillet 2004 à 10:09 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

> En effet, j'avais oublié qu'il n'y a pas de stkparm pour les fonctions de transparence.
Comme de nombreuses routines nouvelles. On peut considérer qu'il n'y a plus d'ajouts de fonctions __stkparm__...
Lionel Debroux - membre de TICT.
    
./Post n°33   Marquer comme non lu.
Sasume Ecrit le: Samedi 3 juillet 2004 à 18:06 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

Au fait, si tu veux ajouter des fonctions de transparence sur le gris clair/foncé :
(d0 = sprite pour le plan clair, d1 = sprite pour le plan foncé, a0 = destination plan clair, a1 = destination plan foncé)
Gris clair :
  move.l  d1,d2
  or.l    (a0),d2
  and.l   d0,d2
  move.l  d2,(a0)
  and.l   (a1),d0
  or.l    d1,d0
  move.l  d0,(a1)


Gris foncé :
  move.l  d1,d2
  and.l   (a0),d2
  or.l    d0,d2
  move.l  d2,(a0)
  or.l    (a1),d0
  and.l   d1,d0
  move.l  d0,(a1)
    
./Post n°34   Marquer comme non lu.
Lionel Debroux Ecrit le: Samedi 3 juillet 2004 à 18:41 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

OK, merci. J'ai commencé à faire ton optimisation pour TRANW, elle a l'air de marcher.
Lionel Debroux - membre de TICT.
    
./Post n°35   Marquer comme non lu.
Sasume Ecrit le: Dimanche 4 juillet 2004 à 10:07 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

J'ai oublié de préciser que pour que les TRANB, TRANL et TRAND fonctionnent, il faut que la partie inutilisée du long contenant le sprite shifté soit de la couleur transparente...
Autrement dit, pour TRANB, tu dois récupérer ton sprite comme ça :
  moveq.l #-1,d0
  moveq.l #-1,d1
  move.w  (a2)+,d0
  move.w  (a3)+,d1
  rol.l   d3,d0
  rol.l   d3,d0


Pour TRANL, tu ne mets que le long contenant le sprite du lightplane à -1, et pour TRAND, c'est l'autre.
    
./Post n°36   Marquer comme non lu.
Lionel Debroux Ecrit le: Dimanche 4 juillet 2004 à 10:18 Déconnecté(e)    Voir le profil de Lionel Debroux Envoyer un email à Lionel Debroux Visiter le site WEB de Lionel Debroux Envoyer un message privé à Lionel Debroux  

OK, je vais modifier les TRANB. Je ne les avais pas encore testées... Tu avais été un peu pessimiste sur le gain résultant de la modification des TRANB: en plus du nombre de clocks indiqué (que je n'ai pas vérifié), elles utilisent maintenant un registre de moins (qui n'est donc pas à sauver, mettre à la bonne valeur, utiliser, restaurer). Un coût variable (rotate) de quelques dizaines de clocks est donc enlevé.
Optimiser les routines 32 est nettement plus difficile.

Les TRANL/D sont prévues pour la version après la Beta 4.

FI, j'ai commencé à optimiser taille extgraph.a, en utilisant des noms de label locaux là où ça ne gâche pas la lisibilité (beaucoup de fonctions garderont des noms de label globaux). Ca diminue un poil la taille (jusqu'à plus de 200 octets par fonction clippée compliquée !), et améliore le taux de compression. La plupart des ajouts de la Beta 4 seront "gratuits" par rapport à la Beta 3 en termes de taille.
Lionel Debroux - membre de TICT.
    
./Post n°37   Marquer comme non lu.
Sasume Ecrit le: Dimanche 4 juillet 2004 à 10:28 Déconnecté(e)    Voir le profil de Sasume Envoyer un email à Sasume Visiter le site WEB de Sasume Envoyer un message privé à Sasume  

OK, bonnes nouvelles :)
    
./Post n°38   Marquer comme non lu.
Kevin Kofler Ecrit le: Dimanche 4 juillet 2004 à 12:39 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Lionel, tu utilises quelle version de TIGCC? Parce que normalement, même les labels locaux sont émis dans le fichier objet maintenant, parce que le mode all-relocs en a besoin pour coder les relogements relatifs explicitement.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Betas et WIPs » ExtGraph 2.xx... (50 réponse(s))
Pages : 2/3     « 1 [2] 3 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 70.69ms avec 19 requetes