In modern high-performance graphic applications, such as simulations and video games, screen refresh rate and latency management are crucial for a smooth user experience; in this context, software architecture and paradigm choices impact memory efficiency and code performance. This thesis explores the data-oriented design (DOD) paradigm as an alternative to the traditional object-oriented programming (OOP) approach, highlighting the advantages of DOD, such as optimized cache usage and faster memory access, compared to the performance costs of OOP. By analyzing Unity DOTS, a set of DOD tools developed for Unity, the contributions of the C# Job System, Burst Compiler, and Entity Component System (ECS) to performance optimization are examined. The design of an application system based on Unity DOTS then enables a comparison of OOP and DOD paradigms across various benchmarking scenarios, demonstrating how DOD significantly enhances performance in intensive contexts.

Nelle moderne applicazioni grafiche ad alte prestazioni, come simulazioni e videogiochi, la frequenza di aggiornamento dello schermo e la gestione della latenza sono fondamentali per un'esperienza fluida; in tale contesto, le scelte di paradigma e di architettura software incidono sull'efficienza della memoria e del codice. Questa tesi esplora il paradigma di programmazione orientato ai dati (DOD) come alternativa all’approccio orientato agli oggetti (OOP), evidenziando i vantaggi del DOD, come l’uso ottimizzato della cache e un accesso alla memoria più rapido, rispetto ai costi performativi dell’OOP. Analizzando Unity DOTS, un insieme di strumenti DOD sviluppati per Unity, si approfondiscono i contributi del C# Job System, del Burst Compiler e dell’Entity Component System (ECS) all’ottimizzazione delle prestazioni. La progettazione di un sistema applicativo basato su Unity DOTS permette poi di confrontare i paradigmi OOP e DOD in diversi scenari di benchmarking, dimostrando come il DOD migliori significativamente le performance in contesti intensivi.

APPROCCIO DATA-ORIENTED NEI MOTORI DI GIOCO: BENCHMARKING E SPERIMENTAZIONE CON UNITY DOTS PER LA CREAZIONE DI SCENE AD ALTA INTENSITÀ DI RISORSE

ROTOLO, DOMENICO
2023/2024

Abstract

In modern high-performance graphic applications, such as simulations and video games, screen refresh rate and latency management are crucial for a smooth user experience; in this context, software architecture and paradigm choices impact memory efficiency and code performance. This thesis explores the data-oriented design (DOD) paradigm as an alternative to the traditional object-oriented programming (OOP) approach, highlighting the advantages of DOD, such as optimized cache usage and faster memory access, compared to the performance costs of OOP. By analyzing Unity DOTS, a set of DOD tools developed for Unity, the contributions of the C# Job System, Burst Compiler, and Entity Component System (ECS) to performance optimization are examined. The design of an application system based on Unity DOTS then enables a comparison of OOP and DOD paradigms across various benchmarking scenarios, demonstrating how DOD significantly enhances performance in intensive contexts.
2023
DATA-ORIENTED APPROACH IN GAME ENGINES: BENCHMARKING AND EXPERIMENTATION WITH UNITY DOTS FOR THE CREATION OF RESOURCE-INTENSIVE SCENES
Nelle moderne applicazioni grafiche ad alte prestazioni, come simulazioni e videogiochi, la frequenza di aggiornamento dello schermo e la gestione della latenza sono fondamentali per un'esperienza fluida; in tale contesto, le scelte di paradigma e di architettura software incidono sull'efficienza della memoria e del codice. Questa tesi esplora il paradigma di programmazione orientato ai dati (DOD) come alternativa all’approccio orientato agli oggetti (OOP), evidenziando i vantaggi del DOD, come l’uso ottimizzato della cache e un accesso alla memoria più rapido, rispetto ai costi performativi dell’OOP. Analizzando Unity DOTS, un insieme di strumenti DOD sviluppati per Unity, si approfondiscono i contributi del C# Job System, del Burst Compiler e dell’Entity Component System (ECS) all’ottimizzazione delle prestazioni. La progettazione di un sistema applicativo basato su Unity DOTS permette poi di confrontare i paradigmi OOP e DOD in diversi scenari di benchmarking, dimostrando come il DOD migliori significativamente le performance in contesti intensivi.
Unity
Data Oriented Design
C#
DOTS
ECS
File in questo prodotto:
Fulltext non presente su UNITESI – Verifica la disponibilità della tesi in formato cartaceo interrogando il Catalogo di Ateneo

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14253/86178