У меня есть рисовать линии и создать окно с размером.Проблема с запаздыванием на iPhone 8 и выше, но без проблем на iPhone 7.
Для обновления строк:
fileprivate func updateLine(_ line: SCNNode, from position: SCNVector3, distance: Float, axis: SCNVector3.Axis) {
guard let box = line.geometry as? SCNBox else {
fatalError("Tried to update something that is not a line")
}
let absDistance = CGFloat(abs(distance))
let offset = distance * 0.5
switch axis {
case .x:
box.width = absDistance
line.position = position + SCNVector3(x: offset, y: 0, z: 0)
case .y:
box.height = absDistance
line.position = position + SCNVector3(x: 0, y: offset, z: 0)
case .z:
box.length = absDistance
line.position = position + SCNVector3(x: 0, y: 0, z: offset)
}
}
iPhone 7:
Процессор: 48%
Память: 199 МБ
FPS: 60
Время рендеринга кадров: 1,9 мс
iPhone 8 Plus: Процессор: 48%
Память: 236 МБ
Графический процессор: 4,5
FPS:60
Время рендеринга кадра: 16,6 мс
В проекте нет утечек памяти.