Разница в производительности между SKShapeNode и SKSpriteNode - PullRequest
0 голосов
/ 05 мая 2018

Если я хочу нарисовать простой красный прямоугольник, я должен использовать SKShapeNode или SKSpriteNode? В чем разница в производительности (скорости рендеринга)?

Существуют ли исключения (например, применение прозрачности или создание physicsBody)?

Я знаю, какова основная цель обоих, но я не уверен, что лучше по производительности для рисования простого красного квадрата.

Код: enter image description here

// Shape
let myShape = SKShapeNode(rectOf: CGSize(width: 100, height: 100))
myShape.fillColor = .red
myShape.strokeColor = .clear

// Sprite
let mySprite = SKSpriteNode(color: .red, size: CGSize(width: 100, height: 100))

1 Ответ

0 голосов
/ 05 мая 2018

SKSpriteNode предлагает более высокую производительность, чем класс SKShapeNode. См. Документацию здесь

Если вы хотите добавить физическое тело в SKShapeNode, вы должны быть выровнены с точками шейпенода. Для более сложной производительности используйте SKSpriteNode. SKShapeNode полезны, когда трудно использовать текстуру (может быть произвольной формы) и для построения или отображения отладочной информации.

Кроме того, рисование / отображение красного прямоугольника в порядке с SKShapeNode.

...