내 앱을 프로파일 링하는 동안 약간 혼란 스럽습니다. 나는 CPU 사용량이 증가함에 따라 그 이유를 알 수 없었다. 플레이어가 유휴 상태 일 때에도 겉으로보기에는 72 %의 CPU 사용량이있는 것으로 보입니다 [SKScene _update:]
내 게임이 차례대로 진행되므로 내 업데이트 기능이 비어 있습니다. 왜 그렇게 많은 일이 벌어 질까요?비워두면 업데이트 기능이 85 %의 시간이 걸리는 이유는 무엇입니까?
팁을 주시면 감사하겠습니다.
주요 게임 맵은 UI와 헥스 기반 SKTileMapNode
입니다 :
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
추가 정보 :이 말했다 될 필요가 경우
이 내 업데이트 방법 SKCameraNode
을 사용하여 그려집니다. UI는 약 30 개의 노드로 이루어져 있습니다. SKLabelNode
및 SKSpriteNode
사용자가 차례를 끝낼 때마다 별도의 스레드에서 실행되는 AI가 있습니다. AI가 실행되면 메인 스레드 CPU 사용량이 위의 이미지와 같이 즉시 떨어집니다. AI가 GKMinMaxStrategist
bestMoveForPlayer()
기능 만 실행하기 때문에 이상합니다.
내가 가장 확실히 무시했다 갱신 빈을 떠났다. 또한 SKSceneDelegate는 정확히이 작업과 관련이 있습니까? – Aleksandr
모든 장면 처리 메소드는 관련 코드없이 'SKSceneDelegate'를 사용하여 위임 할 수 있습니다. 사용자가 자신의 대리자를 서브 클래 싱하고 구현하는 것은 말할 수 없습니다. 플레이어의 차례가 끝나면보기를 일시 중지하고 시작하기 전에 업데이트하십시오. – RLoniello
그래서 'SKSceneDelegate'로 아무 것도하지 않겠습니다. 나는 그것에 접근하지 않거나 그 기능을 사용합니다. 수동으로'update'를 호출 할 곳이 없으며 뷰를 일시 중지하면 사용자가 아무런 움직임도 만들 수 없으므로 목적을 무효로합니다. – Aleksandr