PDA

Volledige versie bekijken : Flash applicatie 24/7 laten draaien


efixer
%Europe/Berlin %787 %2007, 19:53
Hey,

Ik moet een applicatie (AS3) gaan maken die continue aan zal blijven staan. Er worden zowel statische als bewegende beelden gebruikt en elke nacht wordt één maal contact gemaakt met een webservice om te controleren op updates. Ik vroeg me af of dit geen stabiliteitsprobleem oplevert, oftewel: dat de Flash Player dit wel trekt.

Misschien is dit moeilijk te zeggen en hangt het helemaal af van de specifieke scripting. Ik weet wel dat het in AS2 wel eens problemen gaf en dat de Flash Player vast liep. Maar aangezien de performance van AS3 t.o.v. AS2 stukken is verbeterd, vraag ik het maar even.

Sjeiti
%Europe/Berlin %941 %2007, 23:36
Een probleem waar je dan vast tegenaan gaat lopen is garbage collection. Ik weet er zelf niet zoveel vanaf. Maar probeer eerst zoveel mogelijk te weten te komen over "as3 garbage collection" voor je iets gaat bouwen dat constant moet draaien.

Begin bijvoorbeeld hier: http://www.gskinner.com/blog/archives/2006/06/as3_resource_ma.html

TheDutch
%Europe/Berlin %071 %2007, 02:43
Efixer, het levert niet standaard stabiliteitsproblemen op. Zoals je zelf al zegt hangt dat af van je eigen script en de kennis die je erin stop :).

Breen
%Europe/Berlin %047 %2007, 02:08
Hey efixer. Alles hangt af van hoe zwaar je applicatie is. ActionScript is en blijft een scripting taal, en zoals iedereen weet is Garbage collection in de Flash Player zeker niet perfect (noch bugvrij). Beste optie, is om bij die "update checking" ook even de pagina te herhalen (html), of de projector even opnieuw op te starten. Vrij transparant voor de user, en die actie zorgt ervoor dat heel je applicatie opnieuw wordt opgeladen. Dat is de enige manier om zeker te zijn dat alle resources terug vrijgegeven worden.

1maal daags, lijkt mij voldoende voor een soort kiosk (dat veronderstel ik) applicatie.

efixer
%Europe/Berlin %103 %2007, 03:29
Bedankt voor de reacties. Ik ga eens op zoek naar as3 garbage collection. Ik zat er zelf ook over na te denken om de projector één maal daags ('s nachts) opnieuw op te starten, maar ik wist nog niet concreet of Flash zichzelf kon sluiten/restarten. Moet ik me dan nog even in verdiepen.. (suggesties zijn welkom :0))

Mukke
%Europe/Berlin %167 %2007, 05:01
mja waarom moet flash zichzelf herladen ?
ik kan me best een script voorstellen dat een flash aplicatie in een object fullscreen kan laten opstarten en weer afsluiten

Breen
%Europe/Berlin %515 %2007, 13:22
Mukke, daar zit het probleem nu net. Jouw methode rekent dan op het feit dat de Garbage collector, alle resources in dat object mooi terug vrijgeeft, wat niet altijd het geval is.

TheDutch
%Europe/Berlin %777 %2007, 19:39
Breen, in AS 3 werkt Garbage Colleciton zoals het hoort en goed, je moet alleen wel weten waar je rekening mee moet houden om het goed te laten werken. Mij lijkt het dus zeker niet nodig om een harde refresh te doen. Kortom het ligt helemaal aan je eigen kennis van ActionScript en de VM waar het in draait :).

Larsvu
%Europe/Berlin %936 %2007, 23:28
Ik heb een swf gemaakt die bedoelt was om vrij lang te lopen (voor beurs doeleinden en dergelijke). Hierbij heb ik nooit gehoord dat die langzamer liep na verloop van tijd. Nu neem ik aan dat hij geen 24 uur werd uitgevoerd, maar een uurtje of 12 zal hij zeker gedraait hebben.
De swf voert vrij veel code uit, maar ik zorgde er gewoon voor dat de code die niet werd gebruikt, werd opgeruimt, zodat deze niet ophoopt.
Dus als je gewoon netjes programmeert, is er niets aan de hand.... denk ik ;)

Mukke
%Europe/Berlin %069 %2007, 02:39
zoals elke object dat je aanmakt en achteraf niet meer gebruikt deleten ?

efixer
%Europe/Berlin %103 %2007, 03:28
zoals elke object dat je aanmakt en achteraf niet meer gebruikt deleten ?
Ja, en alle referenties naar het object. Ook moet je alle Event Listeners die je niet meer gebruikt verwijderen en gebruik maken van Weak References. Lees anders ook dat artikel waarvan Sjeiti de link gaf, erg nuttig!

Zie ook: Interactieve info over resource management in AS3 (http://gskinner.com/talks/resource-management/ )

Mukke
%Europe/Berlin %134 %2007, 04:13
alrigth !

ik wil men site super goed geprogrameerd in flash schrijven maar ik doe eerst andere dingen om zo veel mogelijk eerst te leren
mijn volgend project zal zo clean mogelijk zijn
(al zal het nog steeds voornamelijk in AS2.0 zijn)