1

qq1 aurait une routine optimisé ou super optimisé smile pour afficher une ligne horizontale

voici ce que j'ai fait ce matin: ( comme je n'y connais rien l'optimisation je pense que l'on peut faire mieux )


line_hrz:
 move.l		d3,-(a7)
 cmp.w		d0,d2
 bhi		line_hrz_d2
 exg.l		d0,d2
line_hrz_d2:
 sub.w		d0,d2		;recupere la longueur de la ligne
 bsr		calc_octet
hrz_loop:
;==============================================
 bset.b		d3,(a0)
 tst.w		d3
 beq		reinit_d3
 subq.w		#1,d3
 bra		hrz_loop_2
reinit_d3:
 moveq.w	#7,d3
hrz_2:
 cmp.w		#8,d2 ; if d2 > 8
 bcs		hrz_3 ; non
 addq.l		#1,a0
 move.b		#$FF,(a0)
 subq.w		#8,d2
 bra		hrz_2	;teste encore
hrz_3:
 addq.l		#1,a0
hrz_loop_2:
 dbf.w		d2,hrz_loop
;==============================================
exit_hrz:
 move.l		(a7)+,d3
 rts

[3] Labels [/3]
;=========== RECHERCHE UN OCTET ================
calc_octet:
; d0 = x // d1 = y // a0 = mem_video
; outputs: d3=bit a allumée sur cet octet
 move.w		d1,d3
 lsl.w		#5,d1
 add.w		d3,d3
 sub.w		d3,d1
 add.w		d1,a0
 move.w		d0,d3
 lsr.w		#3,d3
 add.w		d3,a0
 and.w		#7,d0	
 moveq.w	#7,d3
 sub.w		d0,d3
 rts


[edit]Edité par ParadiZe le 16-12-2001 à 13:41:25[/edit]
LinuX Powa (:

2

hum y'a pas un peu bcp d'instruction ? roll
"I read the game.dll assembly more easily than you read the joke on the back of your box of Cocoa Pebbles, and have spent the past 2 1/2 years navigating it." ©

3

vous n'avez pas plus rapide sad
LinuX Powa (:

4

FastDrawHLine de ExtGraph.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

C'est aussi rapide sur une ligne horizontale ? C'est bizarre, normalement une ligne horizontale est beaucoup plus rapide à tracer qu'une ligne inclinée ??
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

6

je vois un H dans le nom de la fonction, c'est Horizontal
:D

7

Oui, et c'est très important. FastDrawLine (sans le H) est encore plus lente que DrawLine de AMS avec les lignes horizontales.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

8

OUPS !! dsl, je ne lis pas correctement ce que vous racontez - pourtant j'ai des lunettes smilesmile -

C'est beaucoup plus rapide ?
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

9

C'est pas genial ton truc, paradize.

10

Miles> je crois que la doc de Extgraph dit que FastDrawLine (sans le H) est de l'ordre de 300% plus rapide que AMS... (du moins, pr les lignes inclinées grin)
=> FastDrawHline doit être de cet ordre de rapidité, je penses...

J'avaois fait un petit jeu de tunnel (jamais diffusé) dans lequel j'ai essayé d'utiliser DrawLine d'ASM et FastDrawHline de ExtGraph (vu que ct que des lignes horizontales)...
=> la différence se senatit, et même bien.
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

11

Paradiz: je crois que tu as pas compris le principe d'optimisation pour une ligne horisontale...
allez je t'aide:
11111111111111111111111111111111 11111111 111

A toi de comprendre...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

12

3 fois plus rapide, c'est négligeable smilesmilegrin
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

13

heu... négligeable... pas pour un jeu qui n'est quasiment basé que sur ça grin
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

14

Je vais l'aider :
00001111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11100000

15

hum...
lis la doc de Extgraph... TN laisse une petite indication qui semble correspondre à ce qui t'es soufflé juste au dessus...
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

16

Ouai ou en optimise:
00001111 11111111111111111111111111111111 11111111111111111111111111111111 1111111111111111 11111111 11100000
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

17

Mais avant de faire ce que TiMad dit reflechit bien smile

18

ôuais je l'ai deja modifier au lieu de remplir un octet quand c possible je remplis maintenant 16 bits ,car je sais pas mais pour 32 bits se sera un peu lent vu que dans le pogramme je trace que des lignes < 20 pixels donc pas tres utile de remplir 32 bits
LinuX Powa (:

19

je sais pas si sera lent ou pas,mais un peu inutile smile pour le programme

sinon j'ai compris ce que tu veux dire TiMad:
codé sur 32 bits quand c possible ou
sinon sur 16 si possible
ou sinon sur 8 si possible
ou sinon les qques pixels à afficher smile
c ça ?
LinuX Powa (:

20

oui, c ça.

explique moi ça:
Post1 : " qq1 aurait une routine optimisé ou super optimisé pour afficher une ligne horizontale"
Post19 : "je sais pas si sera lent ou pas,mais un peu inutile pour le programme"
:D

21

oaui mais il ya d'autre truc a prendre en compte;
adresse impaire et paire.. et le nombre de shift a faire....
enfin amuse toi bien et je te souhaite de bon resetwinkà
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

22

oui, bon reset !!! devil
:D

23

arf, y en a encore ki doivent enlever le capot et les piles...rotfl
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

24

Post1 : " qq1 aurait une routine optimisé ou super optimisé pour afficher une ligne horizontale"
>> wi je voulais savoir si qq1 possedait une technique encore plus rapide que la mienne.

Post19 : "je sais pas si sera lent ou pas,mais un peu inutile pour le programme"
>> les lignes que j'aurais a affiché seront inf. ou égal a 8 pixel donc c un peu inutile de faire des testes smile

TiMad>> ouais comme d'habitude,merci smile
LinuX Powa (:

25

qu'est ce qu'un shift ???
LinuX Powa (:

26

decalage de bit

27

lsl, lsr, asl, asr
[edit]Edité par ZdRUbAl le 13-02-2002 à 17:40:58[/edit]

28

il se reveille tard le paradize ! smile
Fiou.

29

grinroll
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

30

+ rol et ror, roxl rt roxr

je les met parce qu'il a ajouté asr
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site