2017-03-10 3 views
1

SpriteKit에서 장면을 으로 기존의 텍스처로 렌더링하는 방법은 무엇입니까?SpriteKit - 기존 텍스처로 렌더링하는 방법

이 방법은 SKViewtextureFromNode:인데 장면을 텍스처로 렌더링하지만 새로운 텍스처를 생성합니다. 이 오버 헤드를 피하고 싶습니다.

답변

1

내가 알 수있는 한, 그러한 API는 없습니다. SKMutableTexture 개체를 사용하고 -modifyPixelDataWithBlock: 메서드를 사용하여 직접 픽셀 데이터를 업데이트해야한다는 것을 의미합니다.

그러나 이것은 사용자가 언급 한 API에서 새로운 SKTexture 개체를 가져 오는 것보다 비용이 많이들 것입니다. SKMutableTexture documentation에서 :

일반적으로는, SpriteKit 텍스처 (SKTexture 객체)를 한 번 만들어 즉, 정적, 그 내용을 변경할 수 없습니다. 이는 정적 이미지가 그래픽 하드웨어 내에서보다 효율적으로 관리 될 수 있기 때문에 중요합니다. 그러나 때로는 텍스처의 내용을 동적으로 업데이트 할 수 있어야합니다. 이 경우에는 가변 텍스처를 사용해야합니다. 텍스처의 내용을 업데이트하는 데 성능상의 불이익이 있기 때문에 먼저 다른 옵션을 고려하십시오. 예를 들어, texture (from :) 메소드와 노드 트리를 사용하여 하드웨어에서 텍스처를 렌더링 할 수 있습니다.

실제로 텍스처 생성이 계측을 통해 검증 가능한 병목 현상 인 경우 작업을 수행하는 다른 옵션을 조사해야 할 수 있습니다.

관련 문제