Programmets bildrutefrekvens

I allmänhet ska du använda lägsta möjliga bildrutefrekvens för bättre prestanda..

Ett programs bildrutefrekvens avgör hur mycket tid som är tillgänglig för varje programkods- och återgivningscykel, så som beskrivs i Grundläggande om exekvering av körtidskod . En högre bildrutefrekvens ger jämnare animeringar. När animeringar eller andra visuella ändringar inte sker finns det ofta ingen anledning att ha en hög bildrutefrekvens. En högre bildrutefrekvens förbrukar fler processorcykler och mer batterikraft än en lägre frekvens.

Nedan följer några allmänna riktlinjer för en lämplig bildrutefrekvens i program:

  • Om du använder Flex-ramverket kan du använda standardvärdet som inledande bildrutefrekvens.

  • En bildrutefrekvensen på minst 20 bildrutor per sekund tillräcklig om programmet innehåller animeringar. Mer än 30 bildrutor per sekund är ofta onödigt.

  • Om programmet inte inkluderar animeringar är förmodligen en bildrutefrekvens på 12 bildrutor per sekund lagom.

Den lägsta möjliga bildrutefrekvensen kan variera beroende den aktuella aktiviteten i programmet. Mer information finns i nästa tips, ”Ändra bildrutefrekvensen i programmet dynamiskt”.

Använd en låg bildrutefrekvens om video är det enda dynamiska innehållet i programmet.

Körtidsmodulen spelar upp inläst videoinnehåll med videons ursprungliga bildrutefrekvens oavsett programmets bildrutefrekvens. En låg bildrutefrekvens försämrar inte användarens upplevelse om programmet saknar animeringar och annat visuellt innehåll som snabbt ändras.

Ändra bildrutefrekvensen i programmet dynamiskt.

Du kan definiera programmets inledande bildrutefrekvens i projekt- eller kompileringsinställningarna, men bildrutefrekvensen är inte fast inställd på det värdet. Du kan ändra bildrutefrekvensen genom att ställa in egenskapen Stage.frameRate (eller egenskapen WindowedApplication.frameRate i Flex).

Ändra bildrutefrekvensen allt efter de aktuella behoven i programmet. Du bör t.ex. sänka bildrutefrekvensen när animeringar inte används i programmet. Höj sedan bildrutefrekvensen när en animerad övergång ska börja. På samma sätt kan du i vanliga fall även sänka bildrutefrekvensen ytterligare om programmet körs i bakgrunden (när det inte är i fokus) Användaren koncentrerar sig förmodligen på ett annat program eller en annan uppgift.

Nedan följer några allmänna riktlinjer som du kan använda som utgångspunkt när du fastställer en lämplig bildrutefrekvens för olika aktiviteter:

  • Om du använder Flex-ramverket kan du använda standardvärdet som inledande bildrutefrekvens.

  • Ställ in bildrutefrekvensen på minst 20 bildrutor per sekund när animeringar visas. Mer än 30 bildrutor per sekund är ofta onödigt.

  • En bildrutefrekvens på 12 bildrutor per sekund är förmodligen lagom när animeringar inte visas.

  • Inlästa videoklipp spelas upp med den ursprungliga bildrutefrekvensen oavsett programmets bildrutefrekvens. En bildrutefrekvens på 12 bildrutor per sekund är förmodligen lagom om video är det enda rörliga innehållet i programmet.

  • En bildrutefrekvens på 5 bildrutor per sekund är förmodligen lagom om programmet körs i bakgrunden.

  • När ett AIR-program inte är synligt är en bildrutefrekvens på 2 bildrutor per sekund eller mindre förmodligen lämpligt. Den här riktlinjen gäller till exempel om ett program minimeras. Det gäller även stationära datorer om egenskapen visible för det inbyggda fönstret är false .

För program som skapas i Flex har klassen spark.components. WindowedApplication inbyggt stöd för dynamisk ändring av programmets bildrutefrekvens. Egenskapen backgroundFrameRate definierar programmets bildrutefrekvens när programmet inte är aktivt. Standardvärdet är 1, vilket ändrar bildrutefrekvensen i ett program som skapats med Spark-ramverket till 1 bildruta per sekund. Du kan ändra bildrutefrekvensen i bakgrunden genom att ställa in egenskapen backgroundFrameRate . Du kan även ställa in egenskapen på ett annat värde eller på -1 om du vill stänga av automatisk sänkning av bildrutefrekvensen.

Mer information om att dynamiskt ändra ett programs bildrutefrekvens finns i följande artiklar:

Grant Skinner har skapat en klass för sänkning av bildrutefrekvensen. Du kan använda klassen i program om du automatiskt vill sänka bildrutefrekvensen när programmet körs i bakgrunden. Om du vill veta mer och hämta källkoden för klassen FramerateThrottler läser du Grants artikel "Idle CPU Usage in Adobe AIR and Flash Player" på http://gskinner.com/blog/archives/2009/05/idle_cpu_usage.html .