| |||||||
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: Jun 2005
Beiträge: 34
| Hohe CPU-Last durch Skript
Hohe CPU-Last durch Skript Hallo ich habe Probleme beim Laden von Hintergrundbildern in einen Container. Folgendes habe ich gemacht: Ein Hintergrundbild wird per Zufallsgenerator in einen MC-Container geladen (mit preloader), was auch klappt ;-) aber manchmal wird das Bild nicht angezeigt oder erst nach merrmaligem Laden Dieses Problem passiert aber nur online (hostet by strato, bei 1und1 genauso). Offline funzt alles prima, sowohl bei direktem aufruf der index.html wie auch über localhost auf eigenem apache (win) habe darasufhin auf Anraten aus dem Forum mit einer OnEnterFRame Funktion und einer if-Abfrage nach der Ladegrösse des Hintergrundbildes erreicht, dass es auch online im Prinzip funzt. Diese Skript scheint aber eine Schleife auszulösen, der Prozessor rattert laut TaskManager permanent bei 30-70%, auch wenn gar nichts geschieht. Ohne die OnEnterFrame-Funktion bleibt die CPU zwar ruhig, aber es funzt eben online wieder nicht... Hier das Skript mit OnEnterFrame ActionScript:
Frage: Kennt jemand einen Trick, wie ich sicherstelle dass mein Hintergrundbild (vor allem auch online) wirklich weiterverarbeitet wird, so wie es offline ja problemlos funktioniert, ohne dass die CPU-Belastung ständig so hoch ist??? |
| | |
| | #2 (permalink) |
| Banned Registriert seit: Sep 2003
Beiträge: 2.071
| ActionScript:
da fehlte zuerstmal ne klammer (rot markiert) zum zweiten hab ich dir ne variable eingebaut die erstmal überprüft ob überhaupt notwendig ist irgendwas zu machen diese heisst "_root.MeineFlag" sooo wenn du nun einen neuen inhalt (neues bild) reinlädst setzt du _root.MeineFlag=false; direkt eine zeile hinter den befehl zum nachladen deines bildes ginge aber auch einfacher aber mag dich nun nicht verwirren Gruss Sascha |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2005
Beiträge: 34
|
Hallo und Danke schon mal. Dein Vorschlag löst zwar das CPU-Problem, aber dafür nicht das Problem mit dem Laden des Hintergrundbildes, weswegen ich die OnEnterfRame-Funktion ja überhaupt verwende. Online ist nach wie voer das Problem: Manchmal lädt er das Bild, manchmal nicht. Ich bräuchte eine Funktion, die bewirkt, dass das Bild tatsächlich immer im Container "ankommt", ohne dass die CPU-Last so hoch wird. Meine OnENterFrame erreicht das ja bereits, aber sie ist irgendwie fehlerhaft. wie müsste ich die umstricken? |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Sep 2005
Beiträge: 10
|
hm, vielleicht könntest du mit getBytesLoaded() und getBytesTotal () rausbekommen, ob das bild vollständig geladen wurde. das kannste in ne while schleife stecken, die erst abbricht, wenn getBytesLoaded == getBytesTotal ist gruß |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2005
Beiträge: 34
|
Ich habe bereits einen Preloader, zu dem oben beschriebenen Skript komme ich also erst, wenn das Bild geladen ist. Es ist also geladen, wird nur von dem listener-Skript nicht angezeigt, es sei denn ich verwende die beschriebene Kombination aus onEnterframe und Listener. Dann aber eben das CPU-Problem. Jemand hat mich darauf hingewisen, dass dies evtl. eine Flash-Krankheit sei, dass manchmal Bilder im Container nicht ganz ankommen... Daher die Abfrage mit OnENterFrame... Hat denn keiner eine Idee, was der Fehler in dem Skript sein könnte??? Das muss doch gehen... Hier noch der Preloader: ActionScript:
|
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |