2017-04-17 12 views
3

iOS SpriteKit API는 사용하기 쉽습니다. 그러나 많은 SKSpriteNode (약 2000+)에서 동시에 대규모 작업 (약 5000 이상)을 실행하면 fps가 매우 낮아집니다. 그러나이 상황에서의 GPU 사용은 CPU 사용량보다 훨씬 적습니다. GPU에서 작업을 가속화 할 수있는 방법이 있습니까? 아니면 MetalKit에서 움직이고, 스케일링하고, 페이딩하고, 회전하는 액션을 가진 이미지를 구현할 수있는 방법이 있습니까?대규모 SKNode 작업을 가속화하는 방법은 무엇입니까?

+0

예 Metalkit은 계산을 미세 조정할 수있는 능력을 제공해야합니다. –

+0

@ Jean-BaptisteYunès 그렇다면 SpriteKit 작업을 MetalKit과 어떻게 통합 할 수 있습니까? – imxieyi

+0

잘 모르겠지만, 제 생각에는 ... –

답변

0

노드의 셰이더를 사용하여 모양을 변경할 수 있습니다. 이것은 노드 이동, 스케일링, 페이딩 및 회전에 유익합니다. 일반적으로 GPU가 아닌 CPU가 처리하는 매우 기본적인 기능이므로 SKActions를 사용하는 것이 좋습니다. 한 번에 2000 개 노드를 변경해야하는 이유를 검토하는 것이 좋습니다.

많은 노드가있을 때마다이를 SKEmitterNode로 대체 할 수 있습니다. PhysicsBodies를 개별 배출물과 함께 사용하는 것이 훨씬 더 힘들지 만 개별 5000 노드를 사용하는 것보다 훨씬 리소스 친화적입니다.

관련 문제