Taxa de quadros do aplicativo

Em geral, utilize a menor taxa possível de quadros para obter melhor desempenho.

A taxa de quadros do aplicativo verifica a quantidade de tempo disponível para cada ciclo "código do aplicativo e renderização", conforme descrito em Conceitos básicos da execução do código de tempo de execução . Uma taxa de quadros maior produz uma animação mais suave. Contudo, quando não estão ocorrendo animações ou outras alterações visuais, em geral não há motivo para uma taxa de quadros alta. Uma taxa de quadros mais alta gasta mais ciclos da CPU e energia da bateria do que uma taxa mais baixa.

Abaixo estão algumas orientações gerais para uma taxa de quadros padrão apropriada ao aplicativo:

  • Se utilizar a estrutura Flex, deixe a taxa de quadros inicial no valor padrão.

  • Se o aplicativo incluir animações, a taxa de quadros adequada deverá ser de pelo menos 20 quadros por segundo. Qualquer taxa acima de 30 quadros por segundo geralmente é desnecessária.

  • Se o aplicativo não incluir animações, provavelmente a taxa de 12 quadros por segundo será suficiente.

A "menor taxa de quadros possível" pode variar dependendo da atividade atual do aplicativo. Consulte a próxima dica "Alterando dinamicamente a taxa de quadros do aplicativo" para obter mais informações.

Utilize uma taxa de quadros baixa quando o vídeo tem apenas conteúdo dinâmico no aplicativo.

O tempo de execução reproduz o conteúdo do vídeo na taxa de quadros nativa, independentemente da taxa de quadros do aplicativo. Se o aplicativo não tiver animações ou outro conteúdo visual com alterações rápidas (exceto vídeo), utilizar uma taxa de quadros baixa não diminui a qualidade da experiência da interface do usuário.

Altere dinamicamente a taxa de quadros do aplicativo.

Você define a taxa de quadros inicial do aplicativo nas configurações do projeto ou compilador; porém, a taxa de quadros não é estabelecida nesse valor. É possível alterar a taxa de quadros definindo a propriedade Stage.frameRate (ou a propriedade WindowedApplication.frameRate no Flex).

Altere a taxa de quadros de acordo com as necessidades atuais do aplicativo. Por exemplo, quando o aplicativo não estiver desempenhando quaisquer animações, diminua a taxa de quadros. Quando uma transição animada estiver prestes a começar, aumente a taxa de quadros. Da mesma forma, se o aplicativo estiver executando em segundo plano (depois de perder o foco), geralmente você poderá diminuir a taxa de quadros ainda mais. Provavelmente o usuário estará concentrado em outro aplicativo ou em outra tarefa.

A seguir estão algumas orientações gerais para utilizar como ponto de partida para especificar a taxa de quadros apropriada a diferentes tipos de atividades:

  • Se utilizar a estrutura Flex, deixe a taxa de quadros inicial no valor padrão.

  • Quando animações são reproduzidas, a taxa de quadros deve ser pelo menos 20 quadros por segundo. Qualquer taxa acima de 30 quadros por segundo geralmente é desnecessária.

  • Quando não são reproduzidas animações, provavelmente, a taxa de 12 quadros por segundo é suficiente.

  • Vídeo carregado é reproduzido na taxa de quadros nativa independentemente da taxa de quadros do aplicativo. Se o vídeo for o único conteúdo em movimento no aplicativo, provavelmente, a taxa de 12 quadros por segundo é suficiente.

  • Quando o aplicativo não tem foco de entrada, provavelmente, a taxa de 5 quadros por segundo é suficiente.

  • Quando um aplicativo AIR não está visível, uma taxa de quadros de 2 quadros por segundo ou menos geralmente será apropriada. Por exemplo, esta orientação se aplica se uma aplicativo estiver minimizado. Tembém se aplica a dispositivos desktop se a propriedade visible da janela nativa estiver definida como false .

Para aplicativos construídos no Flex, a classe spark.components.WindowedApplication tem suporte incorporado para alterar dinamicamente a taxa de quadros do aplicativo. A propriedade backgroundFrameRate define a taxa de quadros do aplicativo quando o aplicativo não está ativo. O valor padrão é 1, que altera a taxa de quadros de um aplicativo criado com a estrutura Spark a 1 quadro por segundo. Você pode alterar a taxa de quadros em segundo plano configurando a propriedade backgroundFrameRate . Você pode definir a propriedade com outro valor ou defini-la como -1 para desativar o estrangulamento automático de taxa de quadros.

Para obter mais informações sobre como alterar dinamicamente a taxa de quadros do aplicativo, consulte os seguintes artigos:

Grant Skinner criou uma classe de estrangulador de taxa de quadros. Você pode usar esta classe em seus aplicativos para diminuir automaticamente a taxa de quadros quando o seu aplicativo estiver em segundo plano. Para obter mais informações e para baixar o código-fonte da classe FramerateThrottler, consulte o artigo de Grant Uso ocioso da CPU no Adobe AIR e no Flash Player (em inglês) em http://gskinner.com/blog/archives/2009/05/idle_cpu_usage.html .