Autor Zpráva
Chamurappi
Profil
Podle pravidel Sdružení pro internetovou reklamu by měly reklamní kreativy stvořené ve Flashi bez větších problémů běžet na 300MHz Pentiu, což je v dnešní době tak nerealistické omezení, že se mu každý tvůrce flashového banneru beztrestně vysměje. Čím větší umělec v něm dříme, tím méně přemýšlí jako programátor a tím více neefektivně promrhá dostupné systémové prostředky. Můj strejda si pak při brouzdání stěžuje, že jsem mu dodal pomalý počítač — a to je pochopitelně problém. Mému strejdovi můžu reklamy zablokovat, ale co jiní strejdové?

Znáte někdo nějaký snadný způsob, jak odzkoušet systémové nároky libovolného SWF souboru?
Zajímala by mě zátěž procesoru v nějakých víceméně pevně daných jednotkách (nezávislých na rychlosti testovacího stroje) a využití paměti — ideálně obojí znázornit grafem v závislosti na čase (u hloupě napsaných bannerů při opakování rostou). Flash je taková chytrá a programátorsky čím dál útulnější platforma, že by snad mělo jít vyrobit takové testovadlo přímo v něm… nebo ne?
flz
Profil
Archaické podmienky pre flashovú reklamu ma v praxi už viackrát pobavili... :)

pár krát som benchmarkoval flashe, ostal mi na to nástroj, ale funguje tak, že ho treba vložiť do zdrojáku.
Ukazuje veľkosť heapu a čas potrebný na exekúciu kódu na danom frame (ukazuje v ms).

Tento nástroj som neprogramoval ja, takže ho viem len použiť, upravovať nie.
Ak by si mal záujem, môžem sa o neho podeliť, je to napísane v AS 3.
Johnik
Profil
Flash Builder má přímo zabudované nástroje na měření výkonu aplikací.
Chamurappi
Profil
Reaguji na flze:
funguje tak, že ho treba vložiť do zdrojáku
Bohužel vymámit z kreativců něco užitečnějšího než hotové SWF moc dobře nejde. Je s tím práce navíc, není to obvyklé chování a na tak radikální změnu zvyklostí nemám páku, ani když zaktivizuji všechny naštvané strejdy z republiky :-)

Ak by si mal záujem, môžem sa o neho podeliť, je to napísane v AS 3.
Sice si myslím, že mi to nepomůže, ale jsem zvědavý, zájem mám, poděl se, prosím.

Nicméně pořád mi vrtá hlavou — flash umí do sebe načíst jiný flash, ne? Když budu mít jeden banner s konstantní zátěží a jeden s neznámou zátěží, nemůžu z rodiče, který je načítá (postupně či naráz), vyčíst nějaký parametr, který by šel porovnat? Nezačne při vyšší zátěži kupříkladu kulhat interval setIntervalu nastavený proklatě nízko?


Reaguji na Johnika:
Umí přeměřit i hotový SWF?
flz
Profil
Chamurappi:
tak som to konečne našiel >> Tu si môžeš pozrieť ako to funguje
Tu je zdroják a externý skript.
Ten externý skript slúži na zobrazenie tých efektov, samotný "fps merač" je vložený priamo do scény (dva MovieClipy "FPS a SystemInfo").
ActionScript nájdeš na prvých dvoch frejmov v MovieClipe "FPS"

Len to ti bude stále ukazovať v relatívnych číslach, kedže hodnoty sa budú meniť podľa hardvéru PC :(

Myslím si ale, že ak sa nad tým zamyslí šikovný programátor, tak na niečo príde :D

http://www.futuremark.com/ to akosi dokázali - viď ich bodovací systém.
DoubleThink
Profil *
Chamurappi:
jak odzkoušet systémové nároky libovolného SWF souboru? (...) jednotkách (...) nezávislých na rychlosti testovacího stroje
Tato podmínka půjde splnit obtížně.
V každém případě samotnému měření bude muset předcházet kalibrace na nějakém SWF etalonu. Výsledkem by pak mohl být index náročnosti odvozený podle změřené hodnoty FPS.
Chamurappi
Profil
Reaguji na DoubleThinka:
V každém případě samotnému měření bude muset předcházet kalibrace na nějakém SWF etalonu.
Ano, to by snad mohlo jít.
Druhá možnost je zbrzdit výkon počítače souběžně běžícím SWF tak, aby připomínal nějakou starou šunku, ale to by asi bylo méně přesné a složitější.


Reaguji na flze:
Tu si môžeš pozrieť ako to funguje
To vypadá pěkně. Teď už stačí jen přijít na to, jak přeměřit externí SWF :-)
Vím, že ve Flexu (který na rozdíl od Flashe už trošičku umím) jde načíst nějaké SWF, ale nevím, jestli tam nějak půjde chytat ta událost Event.ENTER_FRAME a jestli sama přítomnost Flex frameworku neovlivní příliš měření…

Jde nějakým způsobem „přetaktovat“ výchozí FPS? Většina bannerů má nastavený poměrně nízký frame rate (pokud mi to Flare ukazuje dobře), takže na rychlé mašině můžou i ty, které zatěžují nepřiměřeně moc, běžet s nezměřitelným zpožděním.

Někde jsem teď četl, že System.totalMemory ukazuje paměť zabranou všemi právě běžícími Flash playery. Tvůrci bannerů by zřejmě dokázali napsat podmínku ve smyslu „pokud flash zabírá víc jak N megabajtů paměti, ukonči veškerou činnost“ — šlo by celkem snadno ověřit, jestli je v banneru přítomna, a motivovala by ke slušnému zacházení s pamětí. To by bylo hezké kladivo na lemply…

Změřit, kolik zabírá v paměti jen aktuální SWF, asi nejde, hm? A nebo naopak jaké je průměrné FPS všech načtených flashů…?
DoubleThink
Profil *
Chamurappi:
Framerate SWF je jen jeden. To jest externě načtené SWF bude dědit FPS kontejneru. A tato hodnota, pokud je mi známo, nejde měnit v době runtime.

System.totalMemory ukazuje paměť zabranou všemi právě běžícími Flash playery
Nejen to. Jsou v tom i všechny běžící AIR aplikace. Vzhledem k tomu, že prostředky playerů jsou sdílené, není tak jednoduché určit skutečnou spotřebu paměti jediného SWF. Měření by musela asi předcházet obligátní informace "ukončete všechny ostatní programy".

Druhá možnost je zbrzdit výkon počítače souběžně běžícím SWF tak, aby připomínal nějakou starou šunku
V době vícejádrových procesorů by to asi bylo dost netriviální.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0