derelict.hu – Kostyó-Fehér Nándor

flash dev, fotográfia, internet – személyes tapasztalataim a webfejlesztés és a portréfotózás világából, gyakori kitérőkkel az online világ felé.
regisztrálj! vagy jelentkezz be!

mérjünk terhelést

1 éve, 4 hónapja - kategória: flashdev, tagek: , ,

számításigényes algoritmusok fejlesztése közben gyakran felmerül az igény, hogy valami módon betekintsünk a folyamataink sebességébe, vagy a legkisebb optimalizálás eredményét is lássuk. erre dobtam össze egy viszonylag egyszerű kis osztályt FrameRateCounter néven, ami két dolgot végez: méri a movie átlagos és aktuális fps értékét, illetve két metódussal  mérhetjük vele a számításigényes függvényeink terhelését is.

fps mérés

mindehhez elég példányosítani az osztályt ( a beállított frameRate-re szüksége van a terhelésméréshez ):

private var fpsCounter:FrameRateCounter;
...
fpsCounter = new FrameRateCounter( stage.frameRate );

és máris kérhetjük belőle public változón keresztül a következő értékeket:

  • currentFps - adott frame-re számított fps érték
  • averageFps - másodpercenként számolt fps átlag
  • minimumFps - a legkisebb fps, amit a movie produkált
  • maximumFps - a legnagyobb fps, amit a movie produkált

terhelés mérés

két metódusunk van ehhez: startLoadMeasure() és stopLoadMeasure(), ezeket a legnagyobb terhelést jelentő függvényünk elejére és végére érdemes beszúrni, esetemben én pl egy renderlést végző függvényt mérek vele. a terhelést a stage.frameRate-hez képest számolja, azaz, ha egy függvény futásideje egyezik az adott framerate reciprokával, akkor a terhelés 100%.

a mérési eredményeink láthatóvá tételéhez elegendő az osztályt hozzáadni a displayList-hez:
addChild( fpsCounter );

és máris ott lesz a jobb alsó sarokban egy kis fps/load% számláló.

a FrameRateCounter.as szabadon letölthető zipelt formátumban.

oszd meg az élményt:
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Facebook
  • Netvibes
a bejegyzés trackback címe:
http://www.derelict.hu/flashdev/merjunk-terhelest/trackback/

hagyj üzenetet

XHTML: ezeket a tageket használhatod: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>