Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
성능
소개
Godot는 균형 잡힌 성능 철학을 따릅니다. 성능의 세계에는 유용성과 유연성에 대한 거래 속도로 구성된 상충 관계가 항상 존재합니다. 이에 대한 몇 가지 실제 예는 다음과 같습니다.
많은 양의 개체를 효율적으로 렌더링하는 것은 쉽지만 큰 씬을 렌더링해야 하는 경우 비효율적일 수 있습니다. 이를 해결하려면 렌더링에 가시성 계산을 추가해야 합니다. 이로 인해 렌더링 효율성이 떨어지지만 동시에 렌더링되는 개체 수가 줄어듭니다. 따라서 전반적인 렌더링 효율성이 향상됩니다.
렌더링해야 하는 모든 객체에 대한 모든 재질의 속성을 구성하는 것도 느립니다. 이를 해결하기 위해 물체를 재료별로 분류하여 비용을 절감합니다. 동시에 정렬에는 비용이 듭니다.
3D 물리학에서도 비슷한 상황이 발생합니다. 대량의 물리 객체(예: SAP)를 처리하는 최고의 알고리즘은 객체 삽입/제거 및 레이캐스팅 속도가 느립니다. 더 빠른 삽입 및 제거와 레이캐스팅을 허용하는 알고리즘은 많은 활성 개체를 처리할 수 없습니다.
그리고 이것에 대한 더 많은 예가 있습니다! 게임 엔진은 본질적으로 범용성을 갖기 위해 노력합니다. 균형 잡힌 알고리즘은 어떤 상황에서는 빠르고 다른 상황에서는 느릴 수 있는 알고리즘이나 빠르지만 사용하기 어려운 알고리즘보다 항상 선호됩니다.
Godot도 예외는 아닙니다. 다양한 알고리즘으로 교체 가능한 백엔드를 갖도록 설계되었지만 기본 백엔드는 성능보다 균형과 유연성을 우선시합니다.
이 점을 분명히 하여, 이 튜토리얼 섹션의 목적은 Godot에서 최대 성능을 얻는 방법을 설명하는 것입니다. 튜토리얼은 어떤 순서로든 읽을 수 있지만 :ref:`doc_general_optimization`부터 시작하는 것이 좋습니다.