응용 프로그램 프레임 속도

일반적으로 성능 향상을 위해서는 가능한 한 가장 낮은 프레임 속도를 사용하십시오..

런타임 코드 실행 기본 사항 에 설명된 것처럼 응용 프로그램의 프레임 속도에 따라 각 "응용 프로그램 코드 및 렌더링" 주기에 사용할 수 있는 시간이 결정됩니다. 프레임 속도가 높을수록 매끄러운 애니메이션이 만들어집니다. 그러나 애니메이션 또는 기타 시각적 변경이 발생하지 않을 경우에는 대개 프레임 속도를 높게 설정할 이유가 없습니다. 프레임 속도가 높을수록 CPU 주기를 더 많이 사용하고 배터리 소모량도 더 많습니다.

다음은 응용 프로그램에 적합한 기본 프레임 속도를 결정하기 위한 몇 가지 일반적인 지침입니다.

  • Flex 프레임워크를 사용 중인 경우 시작 프레임 속도를 기본값 그대로 두십시오..

  • 응용 프로그램에 애니메이션이 포함되는 경우 적절한 프레임 속도는 최소 초당 20프레임입니다. 일반적으로는 초당 30프레임 이상으로 설정할 필요가 없습니다.

  • 응용 프로그램에 애니메이션이 포함되지 않는 경우에는 일반적으로 프레임 속도가 초당 12프레임 정도면 충분합니다.

"가능한 한 가장 낮은 프레임 속도"는 응용 프로그램의 현재 작업에 따라 달라질 수 있습니다. 자세한 내용은 아래에서 설명하는 "응용 프로그램의 프레임 속도를 동적으로 변경"을 참조하십시오.

응용 프로그램에서 비디오가 유일한 동적 내용인 경우 낮은 프레임 속도를 사용하십시오..

로드된 비디오 내용은 런타임에서 응용 프로그램의 프레임 속도와 관계없이 고유한 프레임 속도로 재생됩니다. 응용 프로그램에 애니메이션이나 기타 빠르게 변경되는 시각적인 내용이 없는 경우 낮은 프레임 속도를 사용해도 사용자 인터페이스의 환경을 저해하지 않습니다.

응용 프로그램의 프레임 속도를 동적으로 변경하십시오.

프로젝트 또는 컴파일러 설정에서 응용 프로그램의 초기 프레임 속도를 정의하지만, 프레임 속도는 이 값으로 고정되지 않습니다. 프레임 속도는 Stage.frameRate 속성(또는 Flex의 경우 WindowedApplication.frameRate 속성)을 설정하여 변경할 수 있습니다.

응용 프로그램의 현재 요구 사항에 따라 프레임 속도를 변경하십시오. 예를 들어, 응용 프로그램에서 애니메이션이 수행되지 않을 때는 프레임 속도를 낮춥니다. 애니메이션이 전환이 시작될 때는 프레임 속도를 높입니다. 마찬가지로 응용 프로그램이 포커스를 잃은 후 백그라운드에서 실행되는 경우 보통 프레임 속도를 훨씬 더 낮출 수 있습니다. 따라서 사용자는 다른 응용 프로그램이나 작업에 집중할 수 있습니다.

다음은 서로 다른 작업 유형에 대해 적절한 프레임 속도를 결정하는 데 기초로 사용할 수 있는 몇 가지 일반적인 지침입니다.

  • Flex 프레임워크를 사용 중인 경우 시작 프레임 속도를 기본값 그대로 두십시오..

  • 애니메이션이 재생 중인 경우 프레임 속도를 최소 초당 20프레임으로 설정하십시오. 일반적으로는 초당 30프레임 이상으로 설정할 필요가 없습니다.

  • 애니메이션이 실행 중이 아닌 경우 프레임 속도는 초당 12 프레임 정도면 충분합니다.

  • 로드된 비디오는 응용 프로그램의 프레임 속도와 관계없이 고유한 프레임 속도로 재생됩니다. 응용 프로그램에서 움직이는 내용이 비디오 뿐인 경우 프레임 속도는 초당 12 프레임 정도면 충분합니다.

  • 응용 프로그램에 입력 포커스가 없는 경우 프레임 속도는 초당 5 프레임 정도면 충분합니다.

  • AIR 응용 프로그램이 표시되지 않는 경우 초당 2프레임 이하의 프레임 속도가 적절할 수 있습니다. 예를 들어 이러한 지침은 응용 프로그램을 최소화하는 경우에 적용됩니다. 또한 기본 윈도우의 visible 속성이 false 인 경우 데스크톱 장치에도 적용됩니다.

Flex에서 만든 응용 프로그램의 경우 spark.components. WindowedApplication 클래스는 응용 프로그램의 프레임 속도에 대한 동적 변경을 기본적으로 지원합니다. backgroundFrameRate 속성은 응용 프로그램이 활성 상태가 아닐 때 응용 프로그램의 프레임 속도를 정의합니다. 기본값은 1으로, Spark 프레임워크를 사용하여 만든 응용 프로그램의 프레임 속도를 초당 1프레임으로 변경합니다. backgroundFrameRate 속성을 설정하여 백그라운드 프레임 속도를 변경할 수 있습니다. 이 속성을 다른 값으로 설정하거나, -1로 설정하여 자동 프레임 속도 제한을 해제합니다.

응용 프로그램의 프레임 속도를 동적으로 변경하는 데 대한 자세한 내용은 다음 문서들을 참조하십시오.

Grant Skinner가 프레임 속도 제한자 클래스를 만들었습니다. 응용 프로그램에서 이 클래스를 사용하여 응용 프로그램이 백그라운드에 있을 때 프레임 속도를 자동으로 줄일 수 있습니다. 자세한 정보를 확인하고 FramerateThrottler 클래스의 소스 코드를 다운로드하려면 http://gskinner.com/blog/archives/2009/05/idle_cpu_usage.html 에서 Grant가 작성한 Idle CPU Usage in Adobe AIR and Flash Player 문서를 참조하십시오.