iOS SpriteKit API는 사용하기 쉽습니다. 그러나 많은 SKSpriteNode (약 2000+)에서 동시에 대규모 작업 (약 5000 이상)을 실행하면 fps가 매우 낮아집니다. 그러나이 상황에서의 GPU 사용은 CPU 사용량보다 훨씬 적습니다. GPU에서 작업을 가속화 할 수있는 방법이 있습니까? 아니면 MetalKit에서 움직이고, 스케일링하고, 페이딩하고, 회전하는 액션을 가진 이미지를 구현할 수있는 방법이 있습니까?대규모 SKNode 작업을 가속화하는 방법은 무엇입니까?
3
A
답변
0
노드의 셰이더를 사용하여 모양을 변경할 수 있습니다. 이것은 노드 이동, 스케일링, 페이딩 및 회전에 유익합니다. 일반적으로 GPU가 아닌 CPU가 처리하는 매우 기본적인 기능이므로 SKActions를 사용하는 것이 좋습니다. 한 번에 2000 개 노드를 변경해야하는 이유를 검토하는 것이 좋습니다.
많은 노드가있을 때마다이를 SKEmitterNode로 대체 할 수 있습니다. PhysicsBodies를 개별 배출물과 함께 사용하는 것이 훨씬 더 힘들지 만 개별 5000 노드를 사용하는 것보다 훨씬 리소스 친화적입니다.
관련 문제
- 1. 점진적으로 setInterval을 가속화하는 방법은 무엇입니까?
- 2. Python에서 Beautifulsoup을 가속화하는 방법은 무엇입니까?
- 3. SKNode/SKSpriteNode에 클라이언트 데이터를 추가하는 방법은 무엇입니까?
- 4. greensock 타임 라인을 가속화하는 방법은 무엇입니까?
- 5. 청크 프로세스를 데이터 프레임으로 가속화하는 방법은 무엇입니까?
- 6. CSS에서 박스 섀도우 애니메이션을 가속화하는 방법은 무엇입니까?
- 7. RTMP에서 FLV 비디오를 가속화하는 방법은 무엇입니까?
- 8. 분산 그래프 알고리즘의 성능을 가속화하는 방법은 무엇입니까?
- 9. mongoDB 응용 프로그램의 쉘 스크립트를 가속화하는 방법은 무엇입니까?
- 10. Oracle에서 대규모 트랜잭션을 처리하는 방법은 무엇입니까?
- 11. SKNode 하위 클래스의 __stack_chk_fail
- 12. SKNode containsPoint가 작동하지 않습니다.
- 13. SKPhysicsBody 및 [SKNode setScale :]
- 14. touchesBegan에서 SKNode 트리를 제거하십시오
- 15. 'SKNode?' '위치'라는 회원이 없습니다
- 16. cusparse를 사용하여 사전 컨디셔닝 된 그래디언트 가속화하는 방법은 무엇입니까?
- 17. HalfEdge Mesh 용 .obj 파일 로더를 가속화하는 방법은 무엇입니까?
- 18. 캐시 된 결과를 사용하여 PHP 실행을 가속화하는 방법은 무엇입니까?
- 19. 신속하게 대규모 분석 서버를 구축하는 방법은 무엇입니까?
- 20. 대규모 확장형 애플리케이션에 Backbonejs를 사용하는 방법은 무엇입니까?
- 21. Magento에서 대규모 SQL 쿼리를 실행하는 방법은 무엇입니까?
- 22. py.test를 가속화하는 방법
- 23. Magento 1.7.0.2 가속화하는 방법
- 24. Spritekit 끝없는 러너 부모 SKNode
- 25. SKNode 물리 단체를 그룹화 하시겠습니까?
- 26. 중력 제거 SKNode 플로어 클래스
- 27. SpriteKit addChild (노드 : SKNode) 복수형?
- 28. sleep()/node.js에 뮤텍스를 기다리지 않으므로 대규모 IO 작업을 처리하는 방법은 무엇입니까?
- 29. 작업을 취소하는 방법은 무엇입니까?
- 30. 작업을 삭제하는 방법은 무엇입니까?
예 Metalkit은 계산을 미세 조정할 수있는 능력을 제공해야합니다. –
@ Jean-BaptisteYunès 그렇다면 SpriteKit 작업을 MetalKit과 어떻게 통합 할 수 있습니까? – imxieyi
잘 모르겠지만, 제 생각에는 ... –