| |||||||
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: Jul 2003
Beiträge: 1.197
| (allgemeine Frage) Was frißt Performance? Wie verbessert man Performance?
ich hab hier vor einiger Zeit mal einen Thread gesehen, der umfassend und allgemein darauf eingegangen ist, aber leider finde ich den nicht mehr. ich hab einen 2,6Ghz Rechner, und meine Seite läuft bei mir zwar ruckelfrei und flüssig, aber die CPU-Auslastung ist immer so um 70%. Hab auch schon einige Beschwerden wegen der Performance gehört (weiß nicht ob alle gerechtfertigt sind, weil die Seite bewußt keine Übergänge hat, die in weniger als 1Sek fertig sind). Die Seite läuft mit 22 BpS. Das Auge sieht ja eh nicht mehr, und wenn ich die Framerate erhöhe, dann muß der Computer nur noch mehr rechnen und es ruckelt, richtig? Ich hab einige Sachen probiert: 1. die meisten onEnterFrame Events auf setInterval umgestellt, die immer mit clearInterval gelöscht werden, wenn sie nicht gebraucht werden. Das hat wohl EIN WENIG die Performance verbessert. Aber nicht viel. 2. hab fast alle restlichen onEnterFrame Events (in denen wird nur eine 2KB Grafik gedreht, und einem Punkt bzw. der Maus angenähert) komplett rausgenommen. Kein Effekt. 3. ich hatte .jpg Grafiken mit Masken(z.T. sehr komplizierte Formen) versehen (hatte gerade kein Photoshop), die hab ich nun gegen .png bilder ausgetauscht. Da hatte ich mir mehr versprochen, fast kein Effekt. Ich weiß gerade nicht mehr was ich da noch verbessern soll. Wer den anderen Thread findet, bitte gebt mir den Link. Oder hier nochmal sowas reinschreiben... Danke
__________________ EDV = Ende Der Vernunft |
| | |
| | #2 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
|
ne, den meinte ich nicht. und mit "Was frißt Performance?" meinte ich nicht solche Sachen, wie daß 1000 MCs mehr Rechenleistung brauchen als 10 MCs, das kann ich mir selber denken.
__________________ EDV = Ende Der Vernunft Geändert von hmpf (30-04-2005 um 17:05 Uhr) |
| | |
| | #4 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
dann solltest hier im forum ein wenig suchen... denn das problem ist so alt wie die sache selbst.. und das forum ist voll davon...
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) |
| | |
| | #5 (permalink) | |||
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
tja hmpf, grundsätzlich hast Du ja schon das wichtigste angesprochen, was in flash direkt Rechnerleistung fordert... enterFrames und komplizierte Masken ...was noch fehlt sind halt das 'verzichten' auf Transparenzen, und der Einsatz von Bitmaps statt Vektoren... erstmal zur Analyse Deiner bisherigen 'Arbeiten': Zitat:
Zitat:
Zitat:
...jetzt zu den 'noch fehlenden': -(Teil-)Tranparente Objekte sind performancekiller, nicht nur in Flash sondern überall, wenn Du viele solche Objekte hast, solltest du versuchen das zu minimeren (einiges bringen dürfte dann schon _visible=false statt _alpha=0), eventuell durch Einzelbildanimation statt alpatweening wenn der Hintergrund uni ist ( macht dann halt die Datei wesentlich grösser, aber das imusst dann halt Du abwägen...) - flash muss beim Animieren einer Vektorfläche mindesten drei Punkte berechnen (halt beim Dreieck, je 'unförmiger' um so mehr), bei einem Bitmap sind es aber immer 2 Punkte (die 'boundingBox') den Rest der 'Arbeit' mach der Rechner praktisch direkt... ...soo und nun 'das Thema': ....die Performacebremse überhaupt ist in Wirklichkeit nicht actionscript an und für sich, eigentlich ginge da auch noch was (sh. asBroadcaster), aber alles was Du da an Millisekunden rausholen kannst ist wieder weg, wenn das Objekt, was flash gerade tweent/intervalt/enterFramet ziemlich gross ist, ein Objekt, genau (oder fast) so gross wie der Bildschirm, mit as animiert bringt noch jeden Rechner zum Ruckeln... ...noch einmal potenziert wird das Problem, wenn dieses Objekt auch noch 'über den Monitor hinausragen würde', dagegen hilft nur verkleinern, noch nicht einmal unbedingt die fla, es reicht wenn die swf nur kleiner innerhalb der html angezeigt wird.... ...um es mal mit überspitzt zu sagen, 10 grosse mc's verbrauchen mehr Performance als 1000 kleine... Gruß Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- Geändert von Alois (30-04-2005 um 20:17 Uhr) | |||
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
|
danke für deine ausführliche Antwort. 1. die CPU-Auslastung verändert sich während setInterval läuft und nachdem clearInterval nicht. Dann kann ich davon ausgehen, daß die Funktion nicht so eine große Auswirkung hat? 2. ja, ist wie gesagt eine Minigrafik mit Maske 3. ich kann mir nicht vorstellen, daß Flash aus teiltransparenten .png .jpg+Maske macht. Ich hab die (insgesamt 4, 13KB bis 25KB) .png Bilder nämlich mit Transparenzverlauf gemacht, und es sieht auch im exportierten .swf noch hübsch aus. Mit Maske wäre das ja wie ein .gif, also Transparenz 0% ODER 100%. Naja, auch wenn es die Performance nicht verbessert hat, sieht es immerhin besser aus. Der Hintergrund ist nämlich nicht UNI und so haben die Bilder eine schöne weiche Kante. Ansonsten gibt es so gut wie keine Vektorgrafiken (nur Punkte mit Transparenzverlauf), und keine Tweenings. _alpha auch nicht(nur bei den Vektorpunkten, die ohnehin schon transparent sind). Allerdings werden bis zu 18 Linien zwischen MCs mit lineTo() oder curveTo() berechnet... das verbraucht sicher auch einiges, aber kann es das sein? Ich hab schon soviele Flashfilme gesehen, wo sehr komplexe Formen mit diesen Funktionen dargestellt wurden. @Scrawer wenn dich ein Thema nervt, dann sieh doch einfach nicht rein und kommentiere nicht. hab wohl gesucht, aber nichts gutes gefunden.
__________________ EDV = Ende Der Vernunft |
| | |
| | #7 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
@hmpf... nerven nicht... aber deine antwort... von wegen das kann ich mir selber denke ist ja nicht gerade von der feinen art.... das es hier im forum zu dem thema nix gibt halte ich eher für ein gerücht sorry ![]() ich glaube ich alleine habe hier in den letzten 4 jahren ein halbes buch zu dem thema hinterlassen... aber finde das nicht weiter schlimm da ein regelfall.... ps.: suchen -> performance -> 500 hits (es sei zu erwähnen das forum bricht bei mehr als 500 hits ab)
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) Geändert von Scrawer (01-05-2005 um 15:02 Uhr) |
| | |
| | #8 (permalink) | |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
| Zitat:
Dein Link fand ich auch nicht die feine Art. Da er nicht wirklich ne Antwort enthielt hab ich da auch nur "stell nicht so blöde Fragen" rausgelesen.
__________________ EDV = Ende Der Vernunft | |
| | |
| | #9 (permalink) | |||||
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
..irgendwie glaub ich hast Du nicht zuende gelesen... Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Gruß Alois
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- | |||||
| | |
| | #10 (permalink) |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
|
zum punkt movieclip draw klasse... und maske muss ich sagen... das flash extreme leistungs- probleme bekommt wenn sich ein vector weit außerhalb der maske befindet... das ganze geht exponential im verhältnis performance/koordinaten es ist vor allem nicht ganz nachvollziehbar warum... ist aber so... diese erfahrung musste ich bei einem projekt machen wo ich bei einer map engine fahrzeug routen nach gps hotspots einzeichnen musste... die einzige lösung für das ganze ist polygone line clipping, ich habe es letzt endlich mit dem cohen sutherland algorithms umgesetzt... das löst das problem ![]() das theme wurde hier im forum auch schon öfter behandelt.. einfach ein wenig suchen... bzw. googeln
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) Geändert von Scrawer (01-05-2005 um 18:32 Uhr) |
| | |
| | #12 (permalink) | |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
| Zitat:
und doch, ich hab zuende gelesen. Meine Objekte sind aber alle klein und bewegen sich nur im sichtbaren Bereich/Bildschirm. Ich hatte außerdem .jpg+Maske gegen .png ausgetauscht. Da im .png selber ja Transparenz ist, brauche ich da keine Maske mehr. Und wenn Flash ein .png (was ja Transparenz von 0% bis 100% hat) in viele .jpg+Maske umwandelt (was dann ja etwa 100 mal gemacht werden müsste) würde ein .png den Rechner doch viel mehr belasten, als EIN .jpg+Maske? Fände ich zumindest logisch. Aber ich kann mir nicht vorstellen, daß es so läuft.
__________________ EDV = Ende Der Vernunft | |
| | |
| | #13 (permalink) | |
| [Ernst Reiter] Registriert seit: Jul 2001 Ort: austria
Beiträge: 3.691
| Zitat:
also etwas solltest du hilfe die dir hier geboten wird schon hinterfragen bzw. denken..... denn wenn sinngemäß immer die antwort kommt, wenn dir jemand tipps gibt.. weiss ich eh, habe ich eh schon alles gemacht... frage ich mich wozu das posting hier?
__________________ Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen m.f.g Scrawer (www.thinkspace.at) Geändert von Scrawer (02-05-2005 um 07:43 Uhr) | |
| | |
| | #14 (permalink) | |
| Neuer User Registriert seit: Jul 2003
Beiträge: 1.197
| Zitat:
Ich finde es nicht besonders sinnvoll den Thread jetzt auf sowas zu reduzieren. Und ich würde schon vermuten, daß es nicht dasselbe ist, wenn eine große Vektorfläche mit Transparenzverlauf oder eine kleine über ein Bitmap bewegt werden. Denn bei der großen Vektorgrafik sind ja mehr Pixel der Bitmap durch die Transparenz der Vektorgrafik betroffen. Ich wollte eher solche Dinge erfahren (hat mir inzwischen jemand anders erzählt) daß es z.B. performanter ist, wenn man alle Scripts, die ständig ausgeführt werden sollen in EINEN onEnterFrame Event schreibt. Oder, wie ich inzwischen woanders gelesen habe, es besser sein kann Vektoren gegen Bitmaps auszutauschen, weil Vekoren wohl auch ohne Tweening in jedem Frame neu berechnet werden. Wenn du keinen Bock auf diesen Thread hast, dann antworte doch einfach nicht.
__________________ EDV = Ende Der Vernunft | |
| | |
| | #15 (permalink) | |
| Level up Registriert seit: Jun 2001 Ort: Bocholt
Beiträge: 4.155
|
...das mit Bitmaps statt Vektoren hatten wir schon: Zitat:
__________________ -Spuckt mir auf den Stuhl, ich will im Grünen sitzen- | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |