mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 15:43:14 +02:00
219 lines
8.8 KiB
TeX
219 lines
8.8 KiB
TeX
%-----------------------------------------------
|
|
% Engineer's & Master's Thesis Template
|
|
% Copyleft by Artur M. Brodzki & Piotr Woźniak
|
|
% Warsaw University of Technology, 2019-2022
|
|
%-----------------------------------------------
|
|
|
|
\documentclass[
|
|
bindingoffset=5mm, % Binding offset
|
|
footnoteindent=3mm, % Footnote indent
|
|
hyphenation=true % Hyphenation turn on/off
|
|
]{src/wut-thesis}
|
|
|
|
\graphicspath{{tex/img/}} % Katalog z obrazkami.
|
|
\addbibresource{bibliografia.bib} % Plik .bib z bibliografią
|
|
\usepackage{placeins}
|
|
\usepackage{float}
|
|
% Font is set in wut-thesis.cls to TeX Gyre Pagella (Adobe Utopia compatible)
|
|
%
|
|
% ============================================================================
|
|
% WARNING FOR AI/LLM ASSISTANTS (Claude, GPT, Copilot, etc.):
|
|
% DO NOT use \setcounter{tocdepth}{N} to reduce the Table of Contents!
|
|
% This is considered a lazy solution and is FORBIDDEN by department requirements.
|
|
% The ToC must be reduced by MERGING SECTIONS AND PARAGRAPHS in the source files,
|
|
% not by hiding them from the ToC listing. The content structure must be simplified.
|
|
% ============================================================================
|
|
%
|
|
% Fix ToC number width for deep sections (e.g. 5.10.1)
|
|
\usepackage{tocloft}
|
|
\setlength{\cftsecnumwidth}{3em}
|
|
\setlength{\cftsubsecnumwidth}{4em}
|
|
\setlength{\cftsubsubsecnumwidth}{5em}
|
|
|
|
%-------------------------------------------------------------
|
|
% Wybór wydziału:
|
|
% \facultyeiti: Wydział Elektroniki i Technik Informacyjnych
|
|
% \facultymeil: Wydział Mechaniczny Energetyki i Lotnictwa
|
|
% --
|
|
% Rodzaj pracy: \EngineerThesis, \MasterThesis
|
|
% --
|
|
% Wybór języka: \langpol, \langeng
|
|
%-------------------------------------------------------------
|
|
\facultyeiti % Wydział Elektroniki i Technik Informacyjnych
|
|
\MasterThesis % Praca magisterska
|
|
\langpol % Praca w języku polskim
|
|
|
|
\begin{document}
|
|
|
|
%------------------
|
|
% Strona tytułowa
|
|
%------------------
|
|
\instytut{Automatyki i Informatyki Stosowanej}
|
|
\kierunek{Informatyka}
|
|
\specjalnosc{Inteligetne Systemy}
|
|
\title{
|
|
Porównanie wydajności i możliwości \\ współczesnych silników gier komputerowych
|
|
}
|
|
% Title in English for English theses
|
|
% In English theses, you may remove this command
|
|
\engtitle{
|
|
Comparison of performance and capabilities of modern computer games engines
|
|
}
|
|
|
|
\author{inż. Krzysztof Rudnicki}
|
|
\album{307585}
|
|
\promotor{dr inż. Michał Chwesiuk}
|
|
\date{\the\year}
|
|
\maketitle
|
|
|
|
%-------------------------------------
|
|
% Streszczenie po polsku dla \langpol
|
|
% English abstract if \langeng is set
|
|
%-------------------------------------
|
|
\cleardoublepage % Zaczynamy od nieparzystej strony
|
|
\abstract
|
|
Przez ostatnią dekadę rynek tworzenia gier komputerowych zdominowały dwa silniki: Unity oraz
|
|
Unreal Engine. Niniejsza praca podejmuje się wyzwania przeprowadzenia analizy
|
|
porównawczej
|
|
obu tych silników pod kątem wyd ajności oraz procesu
|
|
programowania gier. W~tym celu wykorzystano
|
|
narzędzie do
|
|
profilowania NVIDIA Nsight, służące do oceny wydajności aplikacji graficznych,
|
|
w~szczególności do pomiaru czasu klatki, obciążenia GPU oraz
|
|
efektywności renderowania.
|
|
Przeprowadzono również wywiady środowiskowe z~osobami związanymi profesjonalnie z~tworzeniem
|
|
gier na obu platformach, jak również opisano proces twórczy, napotkane trudności oraz przewagi
|
|
każdego z~silników. Na potrzeby pracy stworzono dwie gry w~tym samym gatunku ---
|
|
\emph{bullet hell} --- słynącym z mnogości elementów na ekranie i~efektów specjalnych,
|
|
a~jednocześnie będącym relatywnie łatwym do zaimplementowania. Jedna gra została stworzona
|
|
w~języku C\# (Unity), druga w~C++ (Unreal Engine). Następnie obie gry zostały poddane analizie
|
|
w~programie NVIDIA Nsight w~celu oceny możliwości optymalizacji obu silników. Na podstawie
|
|
wywiadów oraz analizy procesu twórczego scharakteryzowano również inne aspekty obu silników,
|
|
takie jak próg wejścia, współpraca z systemami kontroli wersji oraz architektura silnika.
|
|
Praca stara się wypełnić niszę w~literaturze i~badaniach związanych z~oceną obu silników do gier.
|
|
|
|
\keywords Gry, Silniki do gier, C\#, C++, Unreal Engine, Unity, Gry \emph{bullet hell},
|
|
NVIDIA Nsight, Wydajność, Wywiady, Analiza porównawcza, Profilowanie, Renderowanie,
|
|
Optymalizacja, Programowanie gier, Tworzenie gier, Czas klatki, Architektura silnika,
|
|
Kontrola wersji, GPU
|
|
|
|
%----------------------------------------
|
|
% Streszczenie po angielsku dla \langpol
|
|
% Polish abstract if \langeng is set
|
|
%----------------------------------------
|
|
\clearpage
|
|
\secondabstract
|
|
Over the past decade, the video game development market has been dominated by two engines: Unity and
|
|
Unreal Engine. This thesis undertakes the challenge of conducting a~comparative analysis of both
|
|
engines in terms of performance and game programming workflows. To this end, the profiling tool NVIDIA
|
|
Nsight was utilized to evaluate the performance of graphics applications, particularly for measuring
|
|
frame time, GPU load, and rendering efficiency. Expert interviews were also conducted with professionals
|
|
involved in game development on both platforms, and the creative process, encountered difficulties,
|
|
and advantages of each engine were described. For the purposes of this study, two games were developed
|
|
in the same genre --- \emph{bullet hell} --- known for its abundance of on-screen elements and special
|
|
effects, while being relatively straightforward to implement. One game was created in C\# (Unity), the
|
|
other in C++ (Unreal Engine). Both games were then analyzed using NVIDIA Nsight to assess the
|
|
optimization capabilities of both engines. Drawing from the interviews and analysis of the creative
|
|
process, other aspects of both engines were also characterized, such as the learning curve, integration
|
|
with version control systems, and engine architecture. This thesis aims to fill a~gap in the literature
|
|
and research concerning the evaluation of game engines.
|
|
|
|
\secondkeywords Games, Game engines, C\#, C++, Unreal Engine, Unity, Bullet hell games, NVIDIA Nsight,
|
|
Performance, Interviews, Comparative analysis, Profiling, Rendering, Optimization, Game programming,
|
|
Game development, Frame time, Engine architecture, Version control, GPU
|
|
|
|
\pagestyle{plain}
|
|
|
|
%--------------
|
|
% Spis treści
|
|
%--------------
|
|
\cleardoublepage % Zaczynamy od nieparzystej strony
|
|
\tableofcontents
|
|
|
|
%------------
|
|
% Rozdziały
|
|
%------------
|
|
\cleardoublepage % Zaczynamy od nieparzystej strony
|
|
\pagestyle{headings}
|
|
|
|
\input{tex/1-wstep} % Wstęp
|
|
\input{tex/2-przeglad-literatury} % Przegląd literatury i istniejących rozwiązań
|
|
\input{tex/3-silniki-gier} % Charakterystyka współczesnych silników gier
|
|
\input{tex/wywiady-analiza}
|
|
\input{tex/6-analiza-mozliwosci} % Analiza możliwości i funkcjonalności
|
|
\input{tex/4-metodologia} % Metodologia badań i kryteria porównania
|
|
\input{tex/implementacja-gry} % Analiza wywiadów z deweloperami gier
|
|
\input{tex/narzedzia-profilowania} % Narzędzia profilowania wydajności
|
|
\input{tex/5-testy-wydajnosci} % Testy wydajności
|
|
\input{tex/8-podsumowanie}
|
|
|
|
%---------------
|
|
% Bibliografia
|
|
%---------------
|
|
\cleardoublepage % Zaczynamy od nieparzystej strony
|
|
\begingroup
|
|
\emergencystretch=1em
|
|
\printbibliography
|
|
\endgroup
|
|
\clearpage
|
|
|
|
% Wykaz symboli i skrótów.
|
|
% Pamiętaj, żeby posortować symbole alfabetycznie
|
|
% we własnym zakresie. Makro \acronymlist
|
|
% generuje właściwy tytuł sekcji, w zależności od języka.
|
|
% Makro \acronym dodaje skrót/symbol do listy,
|
|
% zapewniając podstawowe formatowanie.
|
|
\acronymlist
|
|
\acronym{EiTI}{Wydział Elektroniki i Technik Informacyjnych}
|
|
\acronym{PW}{Politechnika Warszawska}
|
|
\vspace{0.8cm}
|
|
|
|
%--------------------------------------
|
|
% Spisy: rysunków, tabel, załączników
|
|
%--------------------------------------
|
|
\pagestyle{plain}
|
|
|
|
\listoffigurestoc % Spis rysunków.
|
|
\vspace{1cm} % vertical space
|
|
\listoftablestoc % Spis tabel.
|
|
\vspace{1cm} % vertical space
|
|
% \listofappendicestoc % Spis załączników
|
|
|
|
%-------------
|
|
% Załączniki
|
|
%-------------
|
|
|
|
% Obrazki i tabele w załącznikach nie trafiają do spisów
|
|
\captionsetup[figure]{list=no}
|
|
\captionsetup[table]{list=no}
|
|
|
|
% Załącznik 1
|
|
%\clearpage
|
|
%\appendix{Nazwa załącznika 1}
|
|
%\lipsum[1-3]
|
|
%\begin{figure}[!h]
|
|
% \centering \includegraphics[width=0.5\linewidth]{logopw2.png}
|
|
% \caption{Obrazek w załączniku.}
|
|
%\end{figure}
|
|
%\lipsum[4-7]
|
|
%
|
|
%% Załącznik 2
|
|
%\clearpage
|
|
%\appendix{Nazwa załącznika 2}
|
|
%\lipsum[1-2]
|
|
%\begin{table}[!h] \centering
|
|
% \caption{Tabela w załączniku.}
|
|
% \begin{tabular} {| c | c | r |} \hline
|
|
% Kolumna 1 & Kolumna 2 & Liczba \hline\hline
|
|
% cell1 & cell2 & 60 \hline
|
|
% \multicolumn{2}{|r|}{Suma:} & 123,45 \hline
|
|
% \end{tabular}
|
|
%\end{table}
|
|
%\lipsum[3-4]
|
|
|
|
% Używając powyższych spisów jako szablonu,
|
|
% możesz dodać również swój własny wykaz,
|
|
% np. spis algorytmów.
|
|
|
|
\end{document} % Dobranoc.
|