2014-07-06 1 views
1

일부 배경 :OS X 스프라이트 키트 - 더러운의 구형/지역

I는 OpenGL을 사용하는 기존의 OS X 카드 게임 응용 프로그램을 가지고있다.

창 크기를 조정할 수 있으며 4 : 3 종횡비가 항상 유지됩니다.

창이 축소되면 그에 따라 OpenGL보기의 크기가 조정됩니다. 모든 시각적 요소는 그에 따라 조정됩니다. 즉, 카드는 서로의 상대적인 크기 및 거리를 유지한다.

코드를 Sprite Kit 또는 Core Animation 레이어를 기반으로하는 시스템으로 이동하는 데 관심이 있습니다. 스프라이트 키트는 필자의 요구에 맞는 기능면에서 나에게 매력적이지만 ...

... 나는 스프라이트 키트 성능 (또는 배터리 구동 맥에서 특히 불필요한 성능)에 대해 우려하고있다. 게임은 화면에 60 fps의 동일한 질감을 본질적으로 만들어냅니다.

특히 반복적 인 드로잉을 줄이려면, 특히 매우 큰 창 크기 (예 : 30 인치 모니터에서 전체 화면)를 줄이려면 다음과 같이하십시오. , 나는 "더러운의 구형/지역"또는 "필요에 따라 -"그리기 시스템을 사용하여에 관심이

질문 :.

는 스프라이트 키트 더러운 RECT 드로잉 시스템의 어떤 종류를 제공하거나 않음 이러한 드로잉 시스템을 구현하는 기능 (또는 다시 그리기의 필요성과 상관없이 기본적으로 60fps에서 모든 것을 반복해서 그릴 예정입니까?)

+0

애니메이션이없는 경우 CoreAnimation이 60fps로 그려지지 않습니다. –

+0

@mahal, 참으로. 그래서 Core Animation으로 전환하는 것을 고려하고 있습니다. 하지만 Sprite Kit의 기능을 선호합니다. – Womble

답변

0

SK는 OpenGL 렌더러입니다. 당연히 모든 프레임마다 내용이 다시 그려집니다. 그러나 그것은 느리게하지 않습니다. UI 프레임 워크의 더러운 부분은 성능을 향상시킬뿐만 아니라 전력 소비를 줄이는 방법이기도하지만 UI 프레임 워크의 렌더링은 일반적으로 OpenGL 렌더러보다 훨씬 느립니다 (종종 이 아닌 하드웨어가 가속 됨) .

반면에 SK는 렌더링 된 장면의 복잡성이 극단적 인 경우 프레임보다 느린 프레임 일 수 있습니다. 그러나 이것은 카드 게임에 대해서는 거의 없을 것 같습니다.

일반적으로 테스트 할 코드를 작성할 때까지는 성능에 신경 쓰지 않아야합니다. 조기 최적화 및 모두 ...

+0

도움에 감사드립니다. 조기 최적화에 관한 것이 아니라 우선 올바른 그리기 전략을 선택하는 것입니다. 현재, 내 게임은 60fps를 발사하고 있지만 실제로 그렇게 할 필요는 없습니다. 이상적으로, Sprite Kit의 기능을 원하지만, 실제로 60fps로 업데이트 할 필요는 없습니다 ... 실제로 무언가가 실제로 그려지는 경우에만. 그것은 배터리 수명/CPU 사용에 대한 것보다 무엇보다 사용자, 특히 모바일 것들. 건배. – Womble

+0

그런 경우에는 UI 프레임 워크를 사용하고 sprite kit, cocos2d 또는 다른 OpenGL 기반 렌더링 엔진을 사용하지 마십시오. 배터리 수명보다 최적의 성능을 위해 더 최적화됩니다. – LearnCocos2D

+0

(여기서 논쟁의 여지가 없습니다. 단지 모든 렌더링 iOS/OS X은 기본적으로 OpenGL 기반입니다.) 어쨌든 유연성을 위해 CA 기반 접근 방식을 따라야 할 것 같습니다. 건배. – Womble