mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 12:03:01 +02:00
227 lines
8.5 KiB
TeX
227 lines
8.5 KiB
TeX
\clearpage
|
|
\section{Porównanie wyników i analiza}
|
|
|
|
\subsection{Synteza wyników badań}
|
|
|
|
|
|
Na~podstawie przeprowadzonych testów wydajności (rozdział~\ref{sec:testy-wydajnosci}) można stwierdzić, że~oba silniki wykazują odmienne charakterystyki wydajnościowe w~zależności od~scenariusza testowego.
|
|
|
|
\begin{table}[h!]
|
|
\centering
|
|
\caption{Zestawienie zbiorcze wyników wydajnościowych}
|
|
\label{tab:performance-summary}
|
|
\begin{tabular}{|l|c|c|}
|
|
\hline
|
|
\textbf{Kryterium} & \textbf{Unity} & \textbf{Unreal Engine} \\
|
|
\hline\hline
|
|
Średni FPS (scenariusz niski) & [DATA] & [DATA] \\
|
|
\hline
|
|
Średni FPS (scenariusz średni) & [DATA] & [DATA] \\
|
|
\hline
|
|
Średni FPS (scenariusz wysoki) & [DATA] & [DATA] \\
|
|
\hline
|
|
Średnie zużycie VRAM & [DATA] MB & [DATA] MB \\
|
|
\hline
|
|
Średnia liczba draw calls & [DATA] & [DATA] \\
|
|
\hline
|
|
Stabilność frame time & [DATA] & [DATA] \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
|
|
Analiza możliwości (rozdział~6) wykazała, że~oba silniki oferują bogate zestawy funkcjonalności, jednak~skierowane do~nieco odmiennych grup docelowych.
|
|
|
|
\subsection{Analiza wielokryterialna}
|
|
|
|
|
|
\begin{table}[h!]
|
|
\centering
|
|
\caption{Macierz wielokryterialnego porównania silników gier}
|
|
\label{tab:comparison-matrix}
|
|
\begin{tabular}{|l|c|c|p{3cm}|}
|
|
\hline
|
|
\textbf{Kryterium} & \textbf{Unity} & \textbf{Unreal} & \textbf{Uwagi} \\
|
|
\hline\hline
|
|
Wydajność 2D & ★★★★★ & ★★★☆☆ & Unity zoptymalizowane pod~2D \\
|
|
\hline
|
|
Wydajność 3D & ★★★★☆ & ★★★★★ & Unreal lepsze w~AAA 3D \\
|
|
\hline
|
|
Jakość grafiki & ★★★★☆ & ★★★★★ & Unreal oferuje Nanite, Lumen \\
|
|
\hline
|
|
Łatwość nauki & ★★★★★ & ★★★☆☆ & Unity bardziej przystępne \\
|
|
\hline
|
|
Dokumentacja & ★★★★★ & ★★★☆☆ & Unity ma~lepszą dokumentację \\
|
|
\hline
|
|
Wsparcie mobilne & ★★★★★ & ★★★☆☆ & Unity dominuje na~mobile \\
|
|
\hline
|
|
Społeczność & ★★★★★ & ★★★★☆ & Większa społeczność Unity \\
|
|
\hline
|
|
Asset Store & ★★★★★ & ★★★★☆ & Więcej zasobów dla~Unity \\
|
|
\hline
|
|
Blueprint/Visual & ★★★☆☆ & ★★★★★ & Blueprints bardziej zaawansowane \\
|
|
\hline
|
|
Kod C\# vs C++ & ★★★★☆ & ★★★★☆ & C\# łatwiejszy, C++ wydajniejszy \\
|
|
\hline
|
|
Licensing & ★★★★★ & ★★★★★ & Oba bezpłatne dla~indie \\
|
|
\hline
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
|
|
Znaczenie poszczególnych kryteriów różni się w~zależności od~typu projektu:
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Gry indie} -- priorytet: łatwość nauki, koszt, społeczność.
|
|
\item \textbf{Gry mobilne} -- priorytet: wydajność, optymalizacja, wsparcie platform.
|
|
\item \textbf{Gry AAA} -- priorytet: jakość grafiki, zaawansowane funkcje, skalowalność.
|
|
\item \textbf{Gry edukacyjne} -- priorytet: prostota, dokumentacja, stabilność.
|
|
\end{itemize}
|
|
|
|
\subsection{Przypadki użycia}
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
\item Niższy próg wejścia dla~początkujących deweloperów.
|
|
\item Bogaty Asset Store z~dostępnymi cenowo zasobami.
|
|
\item Większa społeczność -- łatwiej znaleźć pomoc.
|
|
\item Szybsze prototypowanie.
|
|
\item Mniejsze wymagania sprzętowe dla~deweloperów.
|
|
\end{itemize}
|
|
|
|
Jeśli gra wymaga grafiki najwyższej jakości (photorealistic), rozważ Unreal Engine.
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
\item Lepsza optymalizacja pod~platformy mobilne.
|
|
\item Mniejsze rozmiary buildu.
|
|
\item Lepsze wsparcie dla~starszych urządzeń.
|
|
\item Więcej narzędzi i~assetów mobilnych.
|
|
\item Większość gier mobilnych używa Unity (udowodniona skuteczność).
|
|
\end{itemize}
|
|
|
|
Według danych z~2023 roku, około 70\% gier mobilnych na~iOS i~Android zostało stworzonych w~Unity~\cite{statista_unity_market, unity_gaming_report}.
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
\item Wyższa jakość grafiki out-of-the-box.
|
|
\item Nanite -- rendering miliardów poligonów.
|
|
\item Lumen -- dynamiczne global illumination.
|
|
\item Lepsze wsparcie dla~dużych zespołów.
|
|
\item Sprawdzone w~produkcjach AAA (Fortnite, Gears of~War).
|
|
\end{itemize}
|
|
|
|
Unreal Engine wykorzystywano w~produkcjach takich jak: Final Fantasy VII Remake, Jedi: Fallen Order, Borderlands 3.
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
\item Aplikacje edukacyjne VR/AR.
|
|
\item Mobilny AR (ARCore, ARKit).
|
|
\item Projekty wymagające szybkiego rozwoju.
|
|
\end{itemize}
|
|
|
|
\begin{itemize}
|
|
\item High-end VR experiences.
|
|
\item Architekturalna wizualizacja VR.
|
|
\item Training simulations wymagające fotorealizmu.
|
|
\end{itemize}
|
|
|
|
\subsection{Weryfikacja hipotez badawczych}
|
|
|
|
Na~początku pracy (rozdział~\ref{sec:wstep}) postawiono następujące hipotezy badawcze:
|
|
|
|
|
|
\textbf{Hipoteza}: Unreal Engine oferuje lepszą wydajność renderowania złożonych scen 3D niż~Unity.
|
|
|
|
\textbf{Weryfikacja}: [POTWIERDZONA/ODRZUCONA -- wypełnij po~analizie danych]
|
|
|
|
\textbf{Uzasadnienie}: Na~podstawie testów wydajności (Tabela~\ref{tab:results-high}) zaobserwowano, że...
|
|
|
|
|
|
\textbf{Hipoteza}: Unity charakteryzuje się niższym progiem wejścia dla~początkujących deweloperów niż~Unreal Engine.
|
|
|
|
\textbf{Weryfikacja}: POTWIERDZONA
|
|
|
|
\textbf{Uzasadnienie}: Analiza wywiadów (rozdział~wywiady-analiza) wykazała, że~100\% respondentów z~doświadczeniem poniżej 2~lat oceniło Unity jako bardziej przystępne. Składają się na~to:
|
|
\begin{itemize}
|
|
\item Lepiej udokumentowane API.
|
|
\item Większa dostępność tutoriali dla~początkujących.
|
|
\item C\# jako język bardziej przyjazny niż~C++.
|
|
\item Prostszy interfejs edytora.
|
|
\end{itemize}
|
|
|
|
|
|
\textbf{Hipoteza}: Unity oferuje lepsze wsparcie i~optymalizację dla~platform mobilnych niż~Unreal Engine.
|
|
|
|
\textbf{Weryfikacja}: POTWIERDZONA
|
|
|
|
\textbf{Uzasadnienie}:
|
|
\begin{itemize}
|
|
\item Mniejsze rozmiary buildów mobilnych w~Unity.
|
|
\item Lepsza optymalizacja dla~urządzeń niskiej klasy.
|
|
\item Większy ekosystem mobile-specific assetów.
|
|
\item Dominacja na~rynku gier mobilnych (70\% udziału).
|
|
\end{itemize}
|
|
|
|
|
|
\textbf{Hipoteza}: Unreal Engine umożliwia osiągnięcie wyższej jakości grafiki niż~Unity przy~porównywalnym nakładzie pracy.
|
|
|
|
\textbf{Weryfikacja}: POTWIERDZONA
|
|
|
|
\textbf{Uzasadnienie}:
|
|
\begin{itemize}
|
|
\item Technologie Nanite i~Lumen oferują funkcje niedostępne w~Unity.
|
|
\item Lepsze domyślne materiały i~shadery.
|
|
\item Zaawansowane efekty post-processingu out-of-the-box.
|
|
\item Większość projektów wymagających fotorealizmu wykorzystuje Unreal.
|
|
\end{itemize}
|
|
|
|
\subsection{Ograniczenia badań}
|
|
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Ograniczona liczba scenariuszy testowych} -- skupiono się na~grze typu bullet-hell, co~nie~pokrywa wszystkich możliwych zastosowań silników.
|
|
\item \textbf{Pojedyncza konfiguracja sprzętowa} -- testy przeprowadzono tylko na~jednym zestawie komputerowym.
|
|
\item \textbf{Mała próba wywiadów} -- 8~respondentów może nie~reprezentować całej społeczności deweloperów.
|
|
\end{itemize}
|
|
|
|
|
|
\begin{itemize}
|
|
\item \textbf{Wersje silników} -- wyniki dotyczą konkretnych wersji Unity i~Unreal; nowsze wersje mogą mieć odmienną wydajność.
|
|
\item \textbf{Wpływ object poolingu} -- optymalizacja wpływa na~wyniki; bez~niej różnice mogłyby być większe.
|
|
\item \textbf{Profilowanie} -- NVIDIA Nsight może wprowadzać własny narzut wydajnościowy.
|
|
\end{itemize}
|
|
|
|
|
|
\begin{itemize}
|
|
\item Silniki gier rozwijają się dynamicznie -- wyniki mogą dezaktualizować się w~ciągu roku.
|
|
\item Nie~testowano funkcji wprowadzonych w~najnowszych wersjach beta.
|
|
\end{itemize}
|
|
|
|
\subsection{Implikacje praktyczne}
|
|
|
|
|
|
\begin{itemize}
|
|
\item Rozpoczynając naukę tworzenia gier, Unity stanowi bezpieczniejszy wybór.
|
|
\item Dla projektów 2D, Unity jest jednoznacznie lepszym wyborem.
|
|
\item Inwestycja w~naukę C++ może być wartościowa długoterminowo.
|
|
\end{itemize}
|
|
|
|
|
|
\begin{itemize}
|
|
\item Unity pozwala na~szybsze MVP i~iteracje.
|
|
\item Unreal wymaga co~najmniej jednego doświadczonego programisty C++.
|
|
\item Asset Store Unity oferuje więcej ready-to-use rozwiązań.
|
|
\end{itemize}
|
|
|
|
|
|
\begin{itemize}
|
|
\item Unreal Engine jest standardem przemysłowym dla~gier 3D wysokiej jakości.
|
|
\item Wsparcie Epic Games dla~dużych projektów jest lepsze.
|
|
\item Source code access w~Unreal daje większą kontrolę.
|
|
\end{itemize}
|