Maintenant c'est ta lib, à toi de modifier ou non si ça te chante. En tout cas compte pas sur moi pour la faire à ta place (je l'ai fait mais uniquement pour moi, par exemple mon XJoypad recodé tourne à 270% de la vitesse du tiens).
Modification access to hosted sites is also down at the moment. We expect this to be fixed within a couple of weeks. Web access to hosted sites still works fine.
Sprite16x16N_9inf_Loop:1. Tu déroules 4 fois ta boucle. Ce n'est pas un argument très pertinent, mais je trouve que cette façon de gagner de la vitesse est tout le contraire d'une réelle optimisation de code.
moveq #0,%d0; moveq #0,%d1; move.w (%a1)+,%d0; move.w (%a1)+,%d1; swap %d0; swap %d1; lsr.l %d2,%d0; lsr.l %d2,%d1; or.l %d0,(%a0); or.l %d1,3840(%a0); add.w #30,%a0;
moveq #0,%d0; moveq #0,%d1; move.w (%a1)+,%d0; move.w (%a1)+,%d1; swap %d0; swap %d1; lsr.l %d2,%d0; lsr.l %d2,%d1; or.l %d0,(%a0); or.l %d1,3840(%a0); add.w #30,%a0;
moveq #0,%d0; moveq #0,%d1; move.w (%a1)+,%d0; move.w (%a1)+,%d1; swap %d0; swap %d1; lsr.l %d2,%d0; lsr.l %d2,%d1; or.l %d0,(%a0); or.l %d1,3840(%a0); add.w #30,%a0;
moveq #0,%d0; moveq #0,%d1; move.w (%a1)+,%d0; move.w (%a1)+,%d1; swap %d0; swap %d1; lsr.l %d2,%d0; lsr.l %d2,%d1; or.l %d0,(%a0); or.l %d1,3840(%a0); add.w #30,%a0;
dbra %d3,Sprite16x16N_9inf_Loop
move.l (%a7)+,%d3 rts
JackosKing
: MDR.. ou comment changer de sujet de conversation.
tu as critiqué un code asm, je te demande de me prouver qu'il existe mieux et monsieur change de sujet..
Il est facile de critiquer des routines.. je prend un morceau de ton code je dit que c'est de la merde et puis basta! C'est ce que tu as fait.. mais manque de chance t'as pas trouvé d'optimisation.. d'ailleur je doute que t'ais un niveau suffisent en asm pour critiquer Xlib alors la prochaine fois si tu veux faire ton beau gosse reflechis un peu apprend l'asm essaye de faire une routine graphique qui tourne au moins a 70% de la rapidité de XLib.
mais avec la methode que j'ai utilisée on ne pouvait pas
faire mieux
d'ailleur je me demande comme tu peux etre fiere d'une routine qui tourne a 270% de la mienne (a oui tu oublies que le fait que tu ne detectes pas une touche..)... #nb# powa..
Kevin Kofler :
Où?
Change de disque ça fait 15 fois que je lit ça, à croire que t'as rien à dire d'autre. J'ai rien à te prouver, et ça n'a rien de difficile de faire une routine qui tourne à 70% de la vitesse d'XLib... Surtout quand on déroule tout comme toi...
mais avec la methode que j'ai utilisée on ne pouvait pas faire mieux
LOL c clair je pense que cette touche va diminer au moins la vitesse de 3 fois. T'es vraiment une merde TiMad
1. Tu déroules 4 fois ta boucle. Ce n'est pas un argument très pertinent, mais je trouve que cette façon de gagner de la vitesse est tout le contraire d'une réelle optimisation de code.
2. Tu utilises 2 registres de données pour stocker le sprite, tu pourrais tout faire avec un seul, ça éviterait d'utiliser d3 pour le compteur de boucle, donc ça te permettrait peut-être de n'avoir aucun registre à sauver/restaurer. Faut voir le reste du code.
3. add.w #30,a0 est optimisable en lea.l 30(a0),a0 (-4cycles, ce qui est beaucoup dans cette boucle)dans certaines routine j'utilise lea dans d'autres add, mais bon ta remarque est tout a fait justifiée! c'est des petites merdes dans certaines routines d'XLib.. (ya pas que ca.. mais je dout qu'il y a bcp de personne pour les remarquer..
4. Au lieu de faire add.w #30,a0 (ou même lea.l 30(a0),a0) à chaque fois, tu pourrais gagner de la vitesse et de la place en ajoutant directement les 30 octets lorsque tu affiches le sprite : or.l d0,30(a0) au lieu de or.l d0,(a0), et à la fin de la boucle, un lea.l 30*4(a0),a0
JackosKing :
vert[y]os vu ton niveau d'ASM je pense que bon j'attend des preuve.. surtout quand je demande tes critique vis a vis de ce code et que t'es incapable de justifier le fait que t'ai critiquer ce code..
et si tu arrive a faire mieux que XLib c'est que tu arrives a faire mieux que pphd, thibeau, jackiechan, et excuse moi, mais je doute que tu saches mieux programmer, alors le lamers qui croit pouvroir faire mieu parcve qu'il a recoder son propre rowread ca me fait un peu planer...
je pense surtout que tu te la petes un peu trop surtout vu les releases de ton site c'est un peu osé ..
Pour repondre a sasume qui est certainement le mieux palcé pour critiquer XLib:
JackosKing
: je te rappelle que Xlib est la lib la plus rapide alors bon si tu penses faire mieux qu'Xlib c'est que tu penses faire mieux que tous les progz que j'ai nommé.
De plus une lib graphique ne se limite pas au pauvre mode or de nb (remarque c'est peut etre le seul que tu ais compris..)
j'aimerais bien voir tes progs asm je pourais t'en foutre plein la gueule, d'ailleur je suis sur que je pourais aussi critiquer tes prog en C vu tes lacunes sur les compilos etc..
Vertyos
: Au fait la faute volontaire à mon pseudo, la prochaine fois je modifie directement le post.
Sasume
: Xlib est en GPL ?
en plus faire les modifs moi même pour lui prouver qu'il y avait mieux que sa méthode
JackosKingJe crois aussi qu'il s'agit d'une vieille version parce qu'il me semblait que tu m'avais dit que tu avais déjà corrigé le point 4. Par contre, pour le point 2. je continue de soutenir que c'est inutile d'utiliser d0 et d1 pour stocker les sprites, ça ne va pas plus vite que si tu n'utilisais que d0.
: De plus il faut savoir sur quoi on critique, d'une part il n'a pas donner la version de Xlib, ce doit etre la version 0.99 ou 1, mais certainement pas la 1.5 et encore moins la 2.. donc la critique ok, mais faut l'argumenter..
Pour finir au niveau des routines de sprites Xlib est la plus rapides, et d'ailleur je me demande comment tu peux dire qu'elle est moins bien programmer que genlib.. a moins que tu ais dasm genlib ce qui est illégal...Pourquoi est-ce illégal ? (en plus je l'ai déjà fait moi
niveau taille de routines Xlib et genlib se valent il me semble..Si "il te semble" seulement, c'est qu'à mon avis tu n'en sais rien, tu ne fais que supposer...