Benchmarking

Er zijn een aantal tools beschikbaar voor benchmarkingtoepassingen. U kunt de door Flash-communityleden ontworpen Stats- en PerformanceTest-klasse gebruiken. U kunt ook de analyse gebruiken in Adobe® Flash® Builder™ en de FlexPMD-tool.

De Stats-klasse

Als u uw code tijdens de uitvoering wilt profileren met behulp van de releaseversie van de runtime en zonder een extern hulpmiddel, kunt u de Stats-klasse gebruiken. Deze is ontwikkeld door mr. doob van de Flash-community. U kunt de Stats-klasse vanaf het volgende adres downloaden: https://github.com/mrdoob/Hi-ReS-Stats .

Met de Stats-klasse kunt u het volgende bijhouden:
  • Het aantal per seconde gerenderde frames (hoe hoger het aantal, hoe beter).

  • Het aantal milliseconden waarin een frame wordt gerenderd (hoe lager het aantal, hoe beter).

  • De hoeveelheid geheugen die de code in beslag neemt. Als deze hoeveelheid met elk frame toeneemt, kan het zijn dat uw toepassing een geheugenlek heeft. Het is belangrijk dit eventuele lek te onderzoeken.

  • De maximale hoeveelheid geheugen die de toepassing gebruikt.

Als u de Stats-klasse hebt gedownload, kunt u deze gebruiken met de volgende compacte code:

import net.hires.debug.*; 
addChild( new Stats() );

Door gebruik van voorwaardelijke compilatie in Adobe® Flash® Professional of Flash Builder, kunt u het Stats-object inschakelen:

CONFIG::DEBUG 
{ 
    import net.hires.debug.*; 
    addChild( new Stats() ); 
}

U kunt de complicatie van het Stats-object in- of uitschakelen door de waarde van de DEBUG -constante te veranderen. U kunt op deze manier alle codelogica vervangen die u niet in uw toepassing wilt compileren.

De PerformanceTest-klasse

Om uitvoering van ActionScript-code te profileren, heeft Grant Skinner een tool ontworpen voor integratie in een workflow voor het testen van eenheden. U kunt een aangepaste klasse doorgeven aan de PerformanceTest-klasse die een aantal tests uitvoert op uw code. Met de PerformanceTest-klasse kunt u gemakkelijk benchmarking uitvoeren op verschillende werkwijzen. U kunt de klasse PerformanceTest downloaden vanaf het volgende adres: http://www.gskinner.com/blog/archives/2009/04/as3_performance.html .

De Flash Builder-analyse

Bij Flash Builder hoort een analyse waarmee u bijzonder gedetailleerde benchmarking kunt uitvoeren op uw code.

Opmerking: Gebruik de foutopsporingsversie van Flash Player om de analyse te openen, anders verschijnt er een foutbericht.

U kunt de analyse ook gebruiken met inhoud die in Flash Professional is gemaakt. U doet dit door het gecompileerde SWF-bestand uit een ActionScript- of Flex-project te laden in Flash Builder en de analyse er op uit te voeren. Zie “Profiling Flex applications” in Using Flash Builder 4 voor meer informatie over de analyse.

FlexPMD

Adobe Technical Services heeft de tool FlexPMD uitgebracht waarmee u de kwaliteit van ActionScript 3.0-code kunt controleren. FlexPMD is een ActionScript-tool en valt te vergelijken met JavaPMD. FlexPMD verbetert de kwaliteit van de code door een ActionScript 3.0- of Flex-brondirectory te controleren. De tool detecteert slechte codepraktijken, zoals ongebruikte code, onnodig complexe code, te lange code of onjuist gebruik van de levensduur van de Flex-component.

FlexPMD is een Adobe-open-source-project dat beschikbaar is op het volgende adres: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD . Er is ook een Eclipse-insteekmodule beschikbaar op het volgende adres: http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD+Eclipse+plugin .

Met FlexPMD kunt u code gemakkelijker controleren, zodat u zeker weet dat deze zuiver en geoptimaliseerd is. De ware kracht van FlexPMD schuilt in de uitbreidbaarheid. Ontwikkelaars kunnen namelijk hun eigen regels opstellen voor het controleren van alle mogelijke code. U kunt bijvoorbeeld een set regels maken die intensief gebruik van filters opsporen of welke andere slechte codepraktijk dan ook die u wilt uitroeien.