2016-08-27 3 views
0

현재 CADisplayLink를 사용하여 특정 감속 애니메이션을 수행 중입니다. frameInterval을 1로 설정했습니다. 일부 오픈 소스 프로젝트가 프레임 업데이트 사이의 시간 델타로 1/60 초만 사용하는 것을 보았습니다. 타임 스탬프 방법도 사용할 수 있지만 Mach 형식입니다. 어떤 것을 사용해야하나요? iPhone 재생 빈도가 모두 60hz라고 가정 할 수 있으므로 1/60을 안전하게 사용할 수 있습니까? 타임 스탬프 방법을 사용하는 경우 초로 변환해야합니까?CADisplayLink의 타임 스탬프 vs 1/60

미리 감사드립니다.

답변

1

시간 델타로 1/60 초를 사용하는 것은 미래의 장치 또는 외부 디스플레이가 해당 재생 빈도를 사용할지 모르기 때문에 위험합니다. 따라서 미래 지향적 인 솔루션을 원한다면 타임 스탬프 기반 솔루션을 사용해야합니다. 당신은 유닉스 시대의 타임 스탬프를 사용하여 두 대상이 호출 사이의 간격을 계산할 수 있습니다 : https://developer.apple.com/reference/quartzcore/cadisplaylink/1621257-timestamp

:

UInt64(NSDate().timeIntervalSince1970 * 1000.0) 

또한 초에 이미있는 CADisplayLink 타임 스탬프를 사용할 수 있습니다