온도 상태에 따라서 SCNView의 성능을 조절하기
private func configureSceneFeatures() {
var antialiasingMode: SCNAntialiasingMode
var requestedFPS: Int
let state = ProcessInfo().thermalState
switch state {
case .critical:
antialiasingMode = .none
requestedFPS = 30
case .serious:
antialiasingMode = .none
requestedFPS = 60
default:
antialiasingMode = .multisampling2X
requstedFPS = 60
}
DispatchQueue.main.async {
if let sceneView = self.sceneView {
sceneView.antialiasingMode = antialiasingMode
sceneView.preferredFramePerSecond = requestedFPS
}
}
}
Energy Impact쪽에서 온도 상태 변화를 확인할 수 있다.
연결된 기기의 조건을 조정하려면, Windows - devices and simulators에서 원하는 기기를 선택해서 조건을 설정 가능
live preview에서도 debug bar를 통해서 override를 할 수 있다.