Prestazioni
Introduzione
Godot segue una filosofia equilibrata di prestazioni. Nel mondo delle prestazioni, ci sono sempre dei compromessi, che consistono nel sacrificare la velocità per l'usabilità e la flessibilità. Alcuni esempi pratici sono:
Renderizzare grandi quantità di oggetti in maniera efficiente è semplice, ma quando è necessario renderizzare una scena grande, può diventare inefficiente. Per risolvere questo problema, al rendering è necessario aggiungere un calcolo di visibilità. Ciò rende il rendering meno efficiente, ma allo stesso tempo, meno oggetti saranno renderizzati. Pertanto, migliora l'efficienza generale del rendering.
È lenta anche configurare le proprietà di ogni materiale per ogni oggetto da renderizzare. Per risolvere questo, gli oggetti sono ordinati per materiale per ridurre i costi. Allo stesso tempo, l'ordinamento ha un costo.
In 3D physics, a similar situation happens. The best algorithms to handle large amounts of physics objects (such as SAP) are slow at insertion/removal of objects and raycasting. Algorithms that allow faster insertion and removal, as well as raycasting, will not be able to handle as many active objects.
E ci sono molti più esempi! I motori di gioco si sforzano a essere di uso generale. Gli algoritmi bilanciati sono sempre preferiti rispetto ad algoritmi che potrebbero essere veloci in alcune situazioni e lenti in altre, o ad algoritmi che sono veloci ma più difficili da usare.
Godot non è un eccezione. Sebbene sia progettato per avere backend intercambiabili per algoritmi diversi, i backend predefiniti danno priorità all'equilibrio e la flessibilità rispetto alle prestazioni.
Chiarito questo, l'obiettivo di questa sezione di tutorial è spiegare come ottenere le massime prestazioni da Godot. Sebbene i tutorial si possano leggere in qualsiasi ordine, è una buona idea cominciare da Consigli generali di ottimizzazione.