2009-05-12 7 views
0

그것은 내 발목을 가리고 내 성능을 엉망으로 만드는 매우 비용 집약적 인 기능입니까? 나는 그들이 홈 스크린 + 코어 애니메이션에서 흔들리는 버튼을 위해 그것을 사용했다고 생각한다. 나는 단지 내 시간을 낭비하기 전에 알고 싶다.)CGAffineTransformMakeRotation() 비용은 얼마입니까?

답변

1

모든 것과 마찬가지로, 그것은 당신이 그것을 얼마나 많이 사용하는지에 달려있다. 아이폰은 게임 개발에 항상 사용된다. CoreAnimation 또한 매우 빠릅니다. 걱정이된다면 Apple에서 제공하는 샘플 앱 중 하나를 가져 와서 Instruments를 통해 실행하여 자신의 벤치 마크 중 일부를 미리 만들어 자신의 필요에 맞는지 확인하는 것이 좋습니다.

3

성능 문제가 많지는 않을 것 같습니다. 이것은 코사인, 사인 및 몇 곱셈과 같은 것으로 작동합니다. 초당 수천 번이나 전화하지 마십시오. 그러면 괜찮을 것입니다.

1

모든 CGAffineTransformMakeRotation()은 일반적인 오래된 CGAffineTransform에 대한 행렬을 채 웁니다. 매트릭스를 빠르게 채우거나 채울 수 있다고 생각한다면, 이미 그것을 최적화했다면 놀랄 것입니다.

변환을 적용하는 실제 작업을 수행 할 때가되면 GPU가 처리하도록 알려주므로 CPU가 빠르게 실행되고 메인 CPU가 한 방.

정말 걱정이된다면 OpenGL 상단의 2D 공간에서 변환을 수행하여 하드웨어가 최적화되어 있는지 확인하십시오.

+0

감사합니다. OpenGL을 사용하여 2D 공간에서 어떻게 할 수 있습니까? OpenGL에 대한 아이디어가 없습니다. 항상 그것이 3D 작품 일 뿐이라고 생각했습니다. – Thanks

0

난 그냥 시작하기 전에 알고 싶어요 시간 낭비

개별 라인이 아닌 시스템을 최적화하십시오. 코드가 변환을 얼마나 자주 호출하는지 알 수 있습니다. 전체 시스템을 작동시키고 프로필을 작성한 다음 너무 느린 부분을 최적화하는 것이 좋습니다.

느린 개별 통화에 대해 걱정하지 마십시오. 코드가 느리지 만 코드에서 작동하는 방식을 항상 확인하면이 정보를 포인터로 사용하십시오.

관련 문제