매우 이상한 것을 조사하면서 오늘이 주제를 접했습니다. Flex 애플리케이션에서 특정 작업을 수행하면 12fps에서 30fps로 로케트로 렌더링되는 프레임 수가 증가 할 수 있습니다.로드 된 애니메이션은 고속으로 재생되기 시작하고 GUI가 잠기기 시작합니다.플렉스 이벤트 (Flex Post) 이벤트 화면 업데이트
"플렉스/플래시 해머에서 읽은 모든 것은"프레임 속도가 최상위 수준 앱에 설정된 프레임 속도로 제한되어 있습니다 "라는 점 때문에 이러한 추가 렌더가 발생할 수있는 유일한 방법 인 것처럼 보입니다 이벤트를 유발하는 이벤트 (스테이지의 프레임 속도에 프로그래밍 방식으로 변경하지 않아도됩니다.) 이후 업데이트 로직을 ENTER_FRAME 핸들러에 넣었을 때만 발생했기 때문에 Flex가 렌더링에 미친듯한 결과를 초래할 수있는 상황을 파악하려고합니다.
가설 : 내 업데이트 기능에 뭔가가 즉시 화면 업데이트를 트리거되고, 이것은 또 다른 즉시 화면 갱신을 트리거 내 업데이트 루프가 호출되는 것을 의미 즉시 다른 ENTER_FRAME,,, ...
우리는 플렉스 구성 요소가 제기 이것이 GUI 인 경우 GUI에서 사용됩니다. 나는 이것에 관해 다음에 어디로 갈지 정말로 모른다.
부연 설명는 :
- 나는 일들이 속도를 말할, 는이 명단 두 가지 방법이 있습니다.
- 첫 번째로, 내 ENTER_FRAME 처리기는 훨씬 더 자주 호출되는 을 가져옵니다.
- 두 번째로 루프 애니메이션이 갑자기 작성된 플래시 SWF를로드하면 바보가 될 때까지 최대 속도는 입니다.
- updateAfterEvent를 사용하고 있지 않습니다. 을 조사 할 때 만 존재 함을 발견했습니다. 분명히, 이벤트가 Sprite 서브 클래스 에 자동으로 호출되며 그 원인이 근본적인 경우 이 궁금합니다.
- 렌더링과 관련하여 직접적인 메시지를 보내지 않을 것입니다. 그들은 내장 CS3 제작에서 타임 라인을 가지고있는 배경 애니메이션은 우리의 모든 업데이트 기능은 DisplayObject의 위치를 변경하거나 추가/제거입니다 않습니다, 자동으로 재생 등 업데이트
: 내 응용 프로그램에 레이블을 추가 stage.frameRate를 출력하고 특정 시간에 발견되면 갑자기 12에서 1000 (최대 허용 값)으로 변경됩니다. 내 ENTER_FRAME 핸들러에 라인을 추가하여 리셋하는 것은 쉬운 일이 아니지만 큰 도움이됩니다. 또한 이렇게해도 렌더링이 엉망입니다. Alert (알리미) 팝업을 올리는 것과 같은 특정 행동을 통해 모든 것이 다시 살아납니다. 아쉽게도 Setter 속성에 중단 점을 설정하기 위해 Stage 클래스의 소스를 볼 수 없습니다.
'1000fps로 설정'되는 플렉스 로딩에 대해서는 매우 흥미 롭습니다. 우리는 공통 인터페이스를 제공하는 여러 Flex 애플리케이션을 보유하고 있습니다. 마스터 애플리케이션은 SWFLoader 클래스를 통해 필요에 따라 이러한 모듈을로드하는 역할을 담당합니다. 그러나 로딩 프로세스는 이미 지연된로드를 고려합니다. SWF가로드되면 SystemManager에서 APPLICATION_COMPLETE을 기다립니다. 일단 이것이 수신되면 어플리케이션 완료가 발생하지 않아야합니까?
아, 모든 MXML 구성 요소에 대해 APPLICATION_COMPLETE가 발생했다고 생각하지 않았습니다. 이것은 내가 보는 것을 통해 확실히 이해할 수 있습니다. 필요로하는 것에 대한 더 명확한 설명이 있지만 새로운 질문으로 제기하는 것이 이치에 맞습니다. – MidnightGun
Application 클래스가 아닌 다른 구성 요소의 경우 실제로는 CREATION_COMPLETE이지만 동일한 용도로 사용됩니다. – user23405