2011-03-07 3 views
0

Actionscript를 사용하여 inspection time 작업을 구현하고 싶습니다. 이 아이디어는 사용자 응답을 기반으로 마스크 된 이미지와 마스크되지 않은 이미지 사이의 시간 간격을 동적으로 변경하는 것입니다. "검사 시간"은 사용자가 특정 정확도를 달성하는 간격으로 정의됩니다. 해당 간격의 정확성에 영향을주는 다양한 요인이 있습니다 : 모니터 새로 고침 빈도, 플래시 vm 프레임 속도, 타이머 이벤트 정확도, 렌더링 시간. 다른 건 없니? 사용자가 보는 실제 반전을 어떻게 결정합니까? 일반적인 성능은 해당 작업에서 20 ~ 80 msec이므로 높은 정확도가 필요합니다. 제한 요소는 모니터 화면 주사율이라고 가정합니다. 60Hz라면 16.7msec 만 증가 할 수 있습니다. 이 제한을 둘러싼 방법은? 더 높은 프레임 속도를 사용하면 플레이어는 여전히 60Hz로 동기화할까요?두 개의 연속적인 이미지 사이에서 사용자가 보는 실제 시간 간격을 결정하는 방법

답변

2

Flash Player에서 얻을 수있는 프레임 속도의 상한선이 있습니다. 기술적으로 60fps보다 높은 값을 설정할 수는 있지만 사용자가 최신 버전의 Flash Player를 설치하면 화면이 더 빨리 새로 고침 될 것이라고 나는 생각하지 않습니다. 또한 플레이어가 설정 한 프레임 속도는 중요하지 않습니다. 플레이어가 그 속도로 새로 고칠 수 있도록 최선을 다해야한다는 제안이기 때문에 가능합니다. 가능하다면 그렇게 할 것입니다! 그러나 플레이어가 실제로 해당 프레임 속도를 유지할 수 없게 만드는 여러 가지 요인이 있습니다.

  1. 많은 다른 영화 클립이있는 복잡한 장면이 중첩됩니다. 마스크
  2. 과용
  3. 반복적으로 적용하는 필터
  4. 특히 복잡한 또는 ENTER_FRAME 또는 TIMER 이벤트 핸들러에 구현 비효율적 코드 (또는 대다수)
  5. 그래프
  6. 쓸데 인스턴스화 폐기 복잡한 오브젝트 따라서 가비지 콜렉션을 강요합니다 (이것은 매우 높은 프레임 속도에서 눈에 띄는 장애가됩니다).

    또한 ENTER_FRAME 또는 TIMER 중 업데이트 간의 델타 시간은 최상의 환경에서도 100 % 일관성을 유지할 수 없습니다.

잘하면이 도움이됩니다.

+0

이 동의합니다. 100 %. Flash Player는 아마도 프로젝트 설명에서 타겟 플랫폼이 아닙니다. – jpea