Zurück   Flashforum > Flash > ActionScript > Softwarearchitektur und Entwurfsmuster

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-07-2002, 20:00   #1 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
maxDepth

Habt ihr auch die faxen dicke bei der tiefenangabe mitzudenken
Hier eine Methode die checkt, was an aktueller Position die hoechste tiefe ist... entsprechend wird eine neue tiefe berechnet...

ActionScript:
  1. MovieClip.prototype.maxDepth = function () {
  2.         for(i in this) {    var old = Math.max(old, this[i].getDepth())}
  3.         delete i
  4.         return old+1
  5. }

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 14-07-2002, 15:50   #2 (permalink)
Steffen G.
 
Benutzerbild von Tschdaeff
 
Registriert seit: Aug 2001
Ort: Ba-Wü
Beiträge: 4.123
Thumbs up

he net schlecht, sogar perfekt, dass kann man für jeden shooter bracuhen der mit attachen oder duplizierne arbeitet

cu mfg
Tschdaeff
__________________
mod@
www.flashbattle.de
www.steffen-guse.de
------------------------------------

Tschdaeff ist offline   Mit Zitat antworten
Alt 15-07-2002, 18:13   #3 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Thumbs up

Sicher was für unsere Flasher Community

Schön zu sehen das die Inspiration nicht ausstirbt !

mfg
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 17-07-2002, 19:03   #4 (permalink)
LastActionScriptHero
 
Benutzerbild von k7c4
 
Registriert seit: Apr 2002
Beiträge: 572
Kurze Frage, weil ich das bei den Experten wie saban oder matze in letzter Zeit öfter gesehen habe, dass Zählvariablen wie i in for-Schleifen nicht mehr lokal angelegt werden.

Aus Sicherheitsgründen würde ich das zwar immer tun, aber jetzt kommt meine Frage. Ich weiss, dass mind. bis Flash5 lokale Variablen schneller waren als globale, verhält sich das seit MX umgekehrt, oder werden die Experten langsam senil ?
__________________
All your AS are belong to us! haha!
Beweise heute Deine Tierliebe: Schlage nie ein totes Pferd!
k7c4 ist offline   Mit Zitat antworten
Alt 17-07-2002, 21:11   #5 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
hm,

ich dachte bei der methode geht es gerade darum,
performance zu vernichten

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 17-07-2002, 22:40   #6 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Eher senil - aber sind wir mal ehrlich das ist wohl hier das kleinste Problem

gruss vom senil
Mat... ups...
Madokan ist offline   Mit Zitat antworten
Alt 18-07-2002, 01:35   #7 (permalink)
querdenker
 
Benutzerbild von kelor
 
Registriert seit: Jun 2001
Ort: formel1-stadt hockenheim
Beiträge: 4.731
habe gleich mal im neuen player probiert, ob´s einen unterschied gibt....

nicht wirklich....die zeiten zum abarbeiten waren identisch....(2-5 ms unterschied....)


greetz


kelor
kelor ist offline   Mit Zitat antworten
Alt 18-07-2002, 11:06   #8 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Lokale Variablen sind immer noch schneller

ActionScript:
  1. function testLocalVar(){
  2.     var i, t="test", r;
  3.    
  4.     for(i=0; i<10000; i++){
  5.         r = t + i;
  6.     }
  7. }
  8.  
  9. function testGlobalVar(){
  10.     t="test";
  11.    
  12.     for(i=0; i<10000; i++){
  13.         r = t + i;
  14.     }
  15. }
  16.  
  17. tim = getTimer();
  18. testLocalVar();
  19. trace(tf = (getTimer() - tim) + "\n");
  20.  
  21. tim = getTimer();
  22. testGlobalVar();
  23. trace(tf += (getTimer() - tim) + "\n");

Ausgabe innerhalb von Flash auf 700MHz Duron:
467
731

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 18-07-2002, 11:57   #9 (permalink)
Flashtheoretiker
 
Benutzerbild von Niels
 
Registriert seit: Jun 2001
Ort: earth.brd.freiburg
Beiträge: 597
Flash MX

MAC OS 9.2, Dual G4 450, 500 mb ram

651
963
__________________

mfG
Niels

"Die einzige Möglichkeit Menschen zu motivieren ist auf Verständnis und Verständigung ausgerichtete Kommunikation."

"Eine gute Theorie ist das Praktischste, was es gibt."
Gustav Robert Kirchhoff (1827-87), dt. Physiker


Suchen und Finden:
Flashforum | search&find
Flashforum | tutorials


proto resources, no forum:
Flashpower | prototyped

Niels ist offline   Mit Zitat antworten
Alt 18-07-2002, 12:15   #10 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
momment bitte aber mir
for in
ist dieser unterschied nicht da...

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 18-07-2002, 12:26   #11 (permalink)
Flashtheoretiker
 
Benutzerbild von Niels
 
Registriert seit: Jun 2001
Ort: earth.brd.freiburg
Beiträge: 597
He Saban

Kann es sein das sich das im Laufe akumuliert ? So das bei for in dann eben nicht genug loops laufen als das es stark bemerkbar wäre.

Die 2 ms von weiter oben könnten bei einem längeren durchlauf durchaus zu 600 anwachsen.
__________________

mfG
Niels

"Die einzige Möglichkeit Menschen zu motivieren ist auf Verständnis und Verständigung ausgerichtete Kommunikation."

"Eine gute Theorie ist das Praktischste, was es gibt."
Gustav Robert Kirchhoff (1827-87), dt. Physiker


Suchen und Finden:
Flashforum | search&find
Flashforum | tutorials


proto resources, no forum:
Flashpower | prototyped

Niels ist offline   Mit Zitat antworten
Alt 18-07-2002, 13:49   #12 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
also ich habe es mal mit fast 70 Objekten versucht die durch das Script analysiert werden sollten...
Und ich kam auf 4ms und bei 70 Objekten (viel mehr objekte halte ich für unwahrscheinlich) finde ich das schon recht OK...

Außerdem ... eine lokale Variable in
for in ...???

Ich hab mal ein experiment gemacht:
ActionScript:
  1. MovieClip.prototype.maxDepth = function () {
  2.         for(i in this) {    var old = Math.max(old, this[i].getDepth())}
  3.         delete i
  4.         return old+1
  5. }
  6.  
  7. MovieClip.prototype.maxD = function () {
  8.         for(var name in this) { var v = Math.max(v, this[name].getDepth())}
  9.         return v+1
  10. }
  11.  
  12. MovieClip.prototype.maxD2 = function () {
  13.         var w
  14.         for(w in this) {    var v = Math.max(v, this[w].getDepth())}
  15.         return v+1
  16. }
  17.  
  18. for (var q=0; q<1900; q++){
  19.     _root.attachMovie("test","a"+q,q+1,{_x:225,_y:200})
  20.     i += 0.05
  21.     div = 190 - i*2
  22.     _root["a"+q]._x += div*Math.sin(i)
  23.     _root["a"+q]._y += div*Math.cos(i) 
  24. }
  25.  
  26. delete div
  27. delete i
  28. delete q
  29. t= getTimer()
  30. trace(_root.maxDepth()+ " - " + (getTimer()-t))
  31. t= getTimer()
  32. trace(_root.maxD()+ " - " + (getTimer()-t))
  33. t= getTimer()
  34. trace(_root.maxD2()+ " - " + (getTimer()-t))

und das war die Ausgabe...

1901 - 1745
1901 - 1766
1901 - 1763

seltsam oder ....

SABAN
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Alt 18-07-2002, 15:57   #13 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Zitat:
Geschrieben von netTrek
Außerdem ... eine lokale Variable in
for in ...???
Wieso nicht ?

mfg r.
bokel ist offline   Mit Zitat antworten
Alt 18-07-2002, 16:28   #14 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Jungs:

Ruhe bewahren - global oder lokal ist doch in dem Zusammenhang völlig egal - und da sprech ich jetzt einfach mal als Informatiker. Jedem das seine - ich glaube da gibt es wirklich bösere Performance Killer - senil hin oder her

Also keep cool and posting !

Be inspired...

mfg
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 18-07-2002, 17:28   #15 (permalink)
netTrek
 
Benutzerbild von netTrek
 
Registriert seit: Jul 2001
Ort: 46282 Dorsten
Beiträge: 2.972
dumm ausgedrückt... hab den Post begonnen zu schreiben, während ich noch meine Test machte

Aber allen anschein nach macht das in for in nicht so viel (oder besser ist besser) aus wie "nur" in for...

wie den auch sein... ne interessante Sache

SABAN

Zitat:
Geschrieben von bokel


Wieso nicht ?

mfg r.
__________________
Saban Ünlü

netTrek GmbH & Co. KG
Softwareentwicklung, Design & Konzeption
www.netTrek.de
netTrek ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 15:33 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele