| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
| Framerate zu niedrig - Framerate analysieren
Hallo, ich bin dabei, eine kleine Flashanwendung für mein handy zu erstellen. Dabei lade ich unter anderem ein paar externe SWF's in dafür vorgesehene Platzhalter und dann soll man durch Sliden alle SWF's verschieben können. Das klappt auch schon ganz gut, nur zieht das die Framerate ziemlich nach unten auf ca. 5 fps. Dabei ist es egal, ob man die SWF's sieht oder ob sie überdeckt sind oder ob ich sie alle mit unloadMovie() entlade. Ich denke mir, dass da ein script läuft, was alles ausbremst, da auch wenn die SWF's nicht verschoben werden, die Framerate sehr niedrig ist. Ein Script, das jeden Frame läuft, braucht nach der getTimer()-Zeitdifferenz nur 20ms, das ist nicht so schlimm. Jedenfalls würde ich gerne wissen, ob man herausfinden kann (auch durch getTimer()), wie lange das Rendern eines Frames braucht und wie lange die scripts, damit man den Fehler eingrenzen kann. Geändert von hugo123 (10-02-2012 um 19:12 Uhr) |
| | |
| | #2 (permalink) |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
|
Schön, dass ich so viele Lösungsvorschläge bekomme ![]() Ich wollte noch ergänzen, dass es vermutlich am Rendern liegt, da die scripts nach einer Messung insgesamt alle nur ca. 10 ms brauchen. Mir ist aufgefallen, dass ausgeblendete Objekte trotzdem neu gezeichnet werden (Bildaktualisierungsbereiche anzeigen), obwohl man sie überhaupt gar nicht sehen kann. Gibt es eine Möglichkeit, das zu verhindern? |
| | |
| | #3 (permalink) | |
| i ate pixels Registriert seit: Mar 2004 Ort: Augsburg
Beiträge: 528
| Zitat:
Grüße
__________________ GTA ähnliches Auto mit HTML, CSS3 + JavaScript | |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
|
Danke. Hat funktioniert. Da ich gehört habe, dass Alpha unheimlich Rechenzeit braucht, würde ich gerne wissen, was am meisten bremst: -Ein Bild (zum Beispiel png Format), das transparenz beinhaltet, -Ein Movieclip, der mit dem alpha Wert transparent gemacht wird oder -Eine Vektorform, die mit einer durchsichtigen Füllung gefüllt ist. Meiner Meinung nach gibt es da Unterschiede, oder irre ich mich? (Zum Vergleich müssen natürlich alle drei Objekte gleiche Form, Farbe, Transparenz und Füllung haben) |
| | |
| | #5 (permalink) |
| in the boondocks Registriert seit: Feb 2006 Ort: Augsburg
Beiträge: 3.500
|
Das hängt vor allem davon ab, was du mit dem DisplayObject machst. Wenn es ums verschieben geht, dann sind pngs besser, aber alles andere auch ok, wenn du cacheAsBitmap aktivierst. Wenn du aber drehst oder skalierst kommt es darauf an wie komplex die Sprites/MovieClips sind. Die Problematik mit alpha wird dann natürlich nochmal immer größer, je mehr Objekte überlappen. Geändert von shin10 (20-02-2012 um 14:44 Uhr) |
| | |
| | #7 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
stark ist relativ, aber die Performance sinkt mit jedem Objekt und jedem Vektor* auf der Bühne das visible ist. alpha=0 bedeutet nicht, dass ein Objekt nicht gerendert werden muss und woher soll Flash Wissen, ob ein Objekt verdeckt ist, bevor es das teil (und alles darüber) gezeichnet hat? Also visible verwenden, und damit alle Objekte ausblenden, die nicht sichtbar sind/sein sollen. * ja ich mein die einzelnen Linien. paar hundert Vektoren ohne cacheAsBitmap, und Flash fängt an zu stocken. (Die genaue Anzahl hängt von der jeweiligen Hardware ab) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
| Filter gehen überhaupt nicht auf dem Handy, wo das ganze dann später laufen soll. Die werden einfach ignoriert. Mein Problem ist, dass mein ganzer Flashfilm ohne Gründe einfach so auf 5-12 Fps im leerlauf bleibt, obwohl er NICHTS aktualisieren, neuzeichen oder anderes machen muss. Vorher hat er im Leerlauf immer locker über 30 geschafft. Dass es an einem Script liegt, schließe ich aus, da kein Script ca. 140 ms braucht. Das einzige, was er aktualisieren muss, ist ein kleines Textfeld, das die Framerate anzeigt. Damit hat er aber auch schon mal die 30 fps erreicht. Sonst ist nichts, kein Alpha, keine Filter, keine Vektoren, nur ein dynamisch geladenes Bild, und drei 60x60 movieclips. Ich hänge mal ein bild an. (Screenshot aus Device Central) Ich hänge jetzt schon seit ca. einem Monat daran fest und es regt mich so auf. Bitte helft mir. Geändert von hugo123 (21-02-2012 um 11:21 Uhr) |
| | |
| | #10 (permalink) |
| Keine Panik Registriert seit: Apr 2010 Ort: Düsseldorf (im ernst)
Beiträge: 1.868
|
wenn die Performaceeinbrüche zyklisch kommen würde ich evtl noch auf die Garbage Collection tippen, aber ohne quellcode kann man nicht mehr viel sagen. Ich zumindest nicht. Die üblichen Verdächtigen wurden ja bereits genannt. Wenn du den Quellcode nicht zeigen möchtest, wäre evtl noch Blitting ein Thema, dass du dir ansehen könntest, und dass Geschwindigleit bringen kann; allerdings zu lasten des Arbeitsspeichers. edit: ach ja, der exzessive Einsatz von ENTER_FRAME-handlern, ist auch noch ein häufiger Fehler bim Umstieg von AS1/2 nach AS3. Besser einen main-loop erzeugen, und alles andere darin aufrufen. wie du siehst, gibt es eine menge Möglichkeiten, wie man ein Programm optimieren oder versauen kann, und ich kann deinen Programmierstil auch nicht abschätzen, also wäre es am besten, wenn du den Quellcode zeigen könntest. Geändert von thomas_E (21-02-2012 um 13:13 Uhr) |
| | |
| | #11 (permalink) |
| Flash-Designer Registriert seit: May 2006 Ort: Wiesbaden
Beiträge: 6.165
|
__________________ Viele Grüße // Martin Martin Kraft // Interaktionsdesign Hilfreiche Websites: // Hilfe zur Adobe Flash Plattform // ActionScript 2 Referenz // ActionScript 3 Referenz // ActionScript 3 Arbeitshandbuch // weitere Flash Ressourcen Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da! |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
|
Also, das Handy ist ein Samsung S5230 Star, hat ein eigens von Samsung entwickeltes BS und darauf läuft Flash Lite 3.1 mit AS 2. Das BS ist nicht Schuld, da es ja schon einmal wunderbar flüssig funktioniert hat und ich nicht wirklich sagen kann, was jetzt anders wäre. ![]() Das ist bereits der zweite Anlauf für das Projekt, weil ich im ersten eher noch mehr geübt als richtig vorwärtsgekommen bin. Ich habe im ersten Projekt einfach zu lange Zeitleisten genommen und zu viele Tweens und lauter Anfängerfehler. Jetzt habe ich ein paar grundlegende Neuerungen eingebaut, zum Beispiel eine Funktion in der _root-Ebene, wo wichtige Funktionen liegen, auf die alle Objekte (auch dynamisch nachgeladene) zugreifen können. dort ist auch eine Funktion, die ich ganz häufig brauche, die per onEnterFrame-Ereignis Objekte bewegt, skaliert, dreht usw. , sodass eine Animation dabei rauskommt. (makeCubicAnimation) Ich lade die .fla mal hoch, ihr könnt auch gerne noch ein paar andere Tipps dazu posten, wenn euch was auffällt, was man besser machen könnte. (ich denke, ich hab zu viele MC's) Wenn was unklar ist, dann bitte fragen. Alle zusätzlichen Dateien, die dynamisch nachgeladen werde, braucht man nicht wirklich, da es mir in erster Linie nur um die Perfomance geht und auch ohne diese externen Dateien die Perfomance schon im [Zensiert] ist. Bitte helft mir. edit: ach ja, dieses swf IST der Homescreen, deshalb kann man durch fscommand's bestimmte Sachen starten oder Werte vom BS abrufen. Geändert von hugo123 (21-02-2012 um 16:34 Uhr) |
| | |
| | #14 (permalink) | |
| Neuer User Registriert seit: Nov 2011
Beiträge: 24
| Zitat:
Ich bin nicht der einzige, der solche neue Homescreens erstellt. Das Handy gibt es immer noch zu kaufen, hat alles was man braucht, ich hab den original Homescreen (auch ne swf) 'entschlüsselt', weiß, wie man alles vom BS ansteuert, jetzt muss ich das nur noch in ne schöne Form packen. Und das tue ich damit. | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Framerate in AS2? | klickverbot | ActionScript 2 | 6 | 09-12-2006 18:12 |
| Framerate MAC / PC | octopus | Flash 4 und Flash 5 | 3 | 24-09-2004 23:30 |
| Framerate vom swf | MattiMST | Flash MX | 4 | 21-05-2004 08:44 |
| framerate | fredo | Flash MX | 3 | 16-07-2003 22:07 |
| framerate MAC/WIN | LoRMiddleCLass | Flash MX | 6 | 04-02-2003 10:33 |