mirror of
https://github.com/kuhyx/praca_magisterska.git
synced 2026-07-04 13:43:05 +02:00
fix: various editor issues
This commit is contained in:
parent
1371d45107
commit
8bc9c6a163
File diff suppressed because it is too large
Load Diff
BIN
latex/main.pdf
BIN
latex/main.pdf
Binary file not shown.
@ -40,7 +40,7 @@
|
|||||||
% Wybór języka: \langpol, \langeng
|
% Wybór języka: \langpol, \langeng
|
||||||
%-------------------------------------------------------------
|
%-------------------------------------------------------------
|
||||||
\facultyeiti % Wydział Elektroniki i Technik Informacyjnych
|
\facultyeiti % Wydział Elektroniki i Technik Informacyjnych
|
||||||
\MasterThesis % Praca inżynierska
|
\MasterThesis % Praca magisterska
|
||||||
\langpol % Praca w języku polskim
|
\langpol % Praca w języku polskim
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|||||||
@ -50,45 +50,11 @@
|
|||||||
%---------------------
|
%---------------------
|
||||||
\RequirePackage{amsmath} % Basic mathematical typesetting
|
\RequirePackage{amsmath} % Basic mathematical typesetting
|
||||||
\RequirePackage{amssymb} % Advanced math symbols
|
\RequirePackage{amssymb} % Advanced math symbols
|
||||||
|
\RequirePackage{fourier} % Adobe Utopia font
|
||||||
\RequirePackage{amsthm} % Theorems typesetting
|
\RequirePackage{amsthm} % Theorems typesetting
|
||||||
\RequirePackage{array} % Advanced table column formats
|
\RequirePackage{array} % Advanced table column formats
|
||||||
\RequirePackage{enumitem} % Itemize/enumrate
|
\RequirePackage{enumitem} % Itemize/enumrate
|
||||||
\RequirePackage{fancyhdr} % Custom header/footer styles
|
\RequirePackage{fancyhdr} % Custom header/footer styles
|
||||||
% Conditional font loading based on engine
|
|
||||||
\RequirePackage{iftex}
|
|
||||||
\ifxetex
|
|
||||||
\RequirePackage{fontspec}
|
|
||||||
\defaultfontfeatures{Ligatures=TeX}
|
|
||||||
% Use TeX Gyre Pagella (Adobe Utopia compatible font)
|
|
||||||
\setmainfont[
|
|
||||||
Path = /usr/share/texmf-dist/fonts/opentype/public/tex-gyre/,
|
|
||||||
UprightFont = texgyrepagella-regular.otf,
|
|
||||||
ItalicFont = texgyrepagella-italic.otf,
|
|
||||||
BoldFont = texgyrepagella-bold.otf,
|
|
||||||
BoldItalicFont = texgyrepagella-bolditalic.otf
|
|
||||||
]{TeX Gyre Pagella}
|
|
||||||
\setsansfont{DejaVu Sans}
|
|
||||||
\setmonofont{DejaVu Sans Mono}
|
|
||||||
\else\ifluatex
|
|
||||||
\RequirePackage{fontspec}
|
|
||||||
\defaultfontfeatures{Ligatures=TeX}
|
|
||||||
% Use TeX Gyre Pagella (Adobe Utopia compatible font)
|
|
||||||
\setmainfont[
|
|
||||||
Path = /usr/share/texmf-dist/fonts/opentype/public/tex-gyre/,
|
|
||||||
UprightFont = texgyrepagella-regular.otf,
|
|
||||||
ItalicFont = texgyrepagella-italic.otf,
|
|
||||||
BoldFont = texgyrepagella-bold.otf,
|
|
||||||
BoldItalicFont = texgyrepagella-bolditalic.otf
|
|
||||||
]{TeX Gyre Pagella}
|
|
||||||
\setsansfont{DejaVu Sans}
|
|
||||||
\setmonofont{DejaVu Sans Mono}
|
|
||||||
\else
|
|
||||||
% pdfLaTeX - Adagio Slab requires XeLaTeX or LuaLaTeX; stop with error
|
|
||||||
\RequirePackage[utf8]{inputenc}
|
|
||||||
\RequirePackage[T1]{fontenc}
|
|
||||||
\RequirePackage{fourier}
|
|
||||||
\ClassError{wut-thesis}{Adagio Slab requires compilation with XeLaTeX or LuaLaTeX; pdfLaTeX is unsupported for this template.}{Re-run using XeLaTeX or LuaLaTeX and ensure the Adagio Slab OTF files are present in 'latex/fonts/PW_Adagio_Slab/'.}
|
|
||||||
\fi\fi
|
|
||||||
\RequirePackage{graphicx} % Enhanced images support
|
\RequirePackage{graphicx} % Enhanced images support
|
||||||
\RequirePackage{ifluatex} % LuaTeX-specific options
|
\RequirePackage{ifluatex} % LuaTeX-specific options
|
||||||
\RequirePackage{kantlipsum} % English kantian-style lipsum
|
\RequirePackage{kantlipsum} % English kantian-style lipsum
|
||||||
@ -532,4 +498,4 @@
|
|||||||
|
|
||||||
\standardappendix
|
\standardappendix
|
||||||
\renewcommand{\thesection}{\arabic{section}}
|
\renewcommand{\thesection}{\arabic{section}}
|
||||||
}
|
}
|
||||||
@ -1,7 +1,6 @@
|
|||||||
\clearpage
|
\clearpage
|
||||||
\section{Metodologia badań i kryteria porównania}
|
\section{Metodologia badań i kryteria porównania}
|
||||||
|
|
||||||
\subsection{Założenia metodologiczne}
|
|
||||||
Głównym celem badań jest porównanie wydajności i możliwości
|
Głównym celem badań jest porównanie wydajności i możliwości
|
||||||
wybranych silników gier.
|
wybranych silników gier.
|
||||||
|
|
||||||
|
|||||||
@ -2,9 +2,6 @@
|
|||||||
\section{Testy wydajności}
|
\section{Testy wydajności}
|
||||||
\label{sec:testy-wydajnosci}
|
\label{sec:testy-wydajnosci}
|
||||||
|
|
||||||
\subsection{Metryki wydajności}
|
|
||||||
|
|
||||||
|
|
||||||
Dla każdego scenariusza i~silnika rejestrowano następujące metryki przy użyciu NVIDIA Nsight Systems:
|
Dla każdego scenariusza i~silnika rejestrowano następujące metryki przy użyciu NVIDIA Nsight Systems:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -276,8 +273,11 @@ inicjalizację kolejek.
|
|||||||
buforów służących do prezentacji obrazu. Operacja ta
|
buforów służących do prezentacji obrazu. Operacja ta
|
||||||
obejmuje alokację pamięci dla buforów, konfigurację formatów i synchronizację z systemem okienkowym.
|
obejmuje alokację pamięci dla buforów, konfigurację formatów i synchronizację z systemem okienkowym.
|
||||||
|
|
||||||
Utworzenie 341 obiektów fence (łącznie 135,60 ms) wskazuje na przygotowanie puli ogrodzeń do wielokrotnego użytku w cyklu renderowania. Unity stosuje
|
Utworzenie 341 obiektów fence (łącznie 135,60 ms) wskazuje na przygotowanie puli ogrodzeń do
|
||||||
strategię pre-alokacji zamiast tworzenia ogrodzeń na żądanie, co jest praktyką zalecaną w dokumentacji Vulkan.
|
wielokrotnego użytku w cyklu renderowania.
|
||||||
|
\\ Unity stosuje
|
||||||
|
strategię pre-alokacji zamiast tworzenia ogrodzeń na żądanie, co jest praktyką zalecaną w dokumentacji
|
||||||
|
Vulkan.
|
||||||
|
|
||||||
|
|
||||||
Oprócz wywołań Vulkan API, Nsight Systems przechwytuje również wywołania funkcji systemowych, umożliwiając analizę zachowania aplikacji na poziomie
|
Oprócz wywołań Vulkan API, Nsight Systems przechwytuje również wywołania funkcji systemowych, umożliwiając analizę zachowania aplikacji na poziomie
|
||||||
@ -1046,7 +1046,7 @@ Przeprowadzone testy wydajnościowe pozwalają na sformułowanie następujących
|
|||||||
z rzadkimi synchronizacjami, podczas gdy Unreal stosuje drobnoziarnisty system TaskGraph
|
z rzadkimi synchronizacjami, podczas gdy Unreal stosuje drobnoziarnisty system TaskGraph
|
||||||
z milionami wywołań synchronizacyjnych.
|
z milionami wywołań synchronizacyjnych.
|
||||||
|
|
||||||
\item \textbf{Narzut Unreal}: Dynamiczna kompilacja potoków (ponad 1000 potoków na
|
\item \textbf{Narzut Unreal}: Dynamiczna kompilacja potoków \\ (ponad 1000 potoków na
|
||||||
30-sekundową fazę vs 3 w całym teście Unity) i 60-krotnie większa liczba wywołań Vulkan API
|
30-sekundową fazę vs 3 w całym teście Unity) i 60-krotnie większa liczba wywołań Vulkan API
|
||||||
stanowią znaczący narzut, który może przyczyniać się do spadków wydajności w wymagających scenach.
|
stanowią znaczący narzut, który może przyczyniać się do spadków wydajności w wymagających scenach.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
\clearpage
|
\clearpage
|
||||||
\section{Analiza możliwości i funkcjonalności}
|
\section{Analiza możliwości i funkcjonalności}
|
||||||
|
|
||||||
|
Niniejszy rozdział przedstawia porównanie kluczowych możliwości technicznych Unity i~Unreal Engine. Analiza obejmuje systemy renderingu, fizykę, audio, narzędzia deweloperskie oraz wsparcie dla~różnych platform docelowych.
|
||||||
|
|
||||||
\subsection{Analiza możliwości renderingu}
|
\subsection{Analiza możliwości renderingu}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
\clearpage
|
\clearpage
|
||||||
\section{Podsumowanie i wnioski}
|
\section{Podsumowanie i wnioski}
|
||||||
|
|
||||||
\subsection{Realizacja celów pracy}
|
|
||||||
|
|
||||||
Celem niniejszej pracy było porównanie wydajności i~możliwości dwóch wiodących silników gier komputerowych -- Unity oraz Unreal Engine -- ze~szczególnym uwzględnieniem ich wpływu na~proces tworzenia gier oraz~końcową jakość produktu. Cel ten został zrealizowany poprzez:
|
Celem niniejszej pracy było porównanie wydajności i~możliwości dwóch wiodących silników gier komputerowych -- Unity oraz Unreal Engine -- ze~szczególnym uwzględnieniem ich wpływu na~proces tworzenia gier oraz~końcową jakość produktu. Cel ten został zrealizowany poprzez:
|
||||||
|
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
@ -209,7 +207,7 @@ i~są zoptymalizowane pod~odmienne przypadki użycia.
|
|||||||
\item Dostępu do~kodu źródłowego silnika
|
\item Dostępu do~kodu źródłowego silnika
|
||||||
\item Wbudowanych zaawansowanych funkcji (Nanite, Lumen)
|
\item Wbudowanych zaawansowanych funkcji (Nanite, Lumen)
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
\newpage
|
||||||
W~kontekście testowanej gry bullet hell hipoteza o~przewadze Unity została częściowo potwierdzona --
|
W~kontekście testowanej gry bullet hell hipoteza o~przewadze Unity została częściowo potwierdzona --
|
||||||
silnik oferuje prostszą architekturę renderowania, \\ stabilniejsze czasy klatek i~znacznie
|
silnik oferuje prostszą architekturę renderowania, \\ stabilniejsze czasy klatek i~znacznie
|
||||||
łatwiejszy proces implementacji. Jednakże Unreal Engine wykazał zdolność do~osiągania porównywalnej
|
łatwiejszy proces implementacji. Jednakże Unreal Engine wykazał zdolność do~osiągania porównywalnej
|
||||||
|
|||||||
@ -1,5 +1,8 @@
|
|||||||
\clearpage
|
\clearpage
|
||||||
\section{Doświadczenia z implementacji gry testowej}
|
\section{Doświadczenia z implementacji gry testowej}
|
||||||
|
|
||||||
|
W~ramach pracy zaimplementowano identyczną grę typu bullet-hell w~obu silnikach, co pozwoliło na bezpośrednie porównanie procesu tworzenia, napotkanych problemów oraz ergonomii pracy z~każdym z~narzędzi. Poniższe podrozdziały dokumentują kluczowe aspekty implementacji oraz wyciągnięte wnioski.
|
||||||
|
|
||||||
\subsection{Implementacja w Unity}
|
\subsection{Implementacja w Unity}
|
||||||
\label{subsec:impl-unity}
|
\label{subsec:impl-unity}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
\label{sec:narzedzia-profilowania}
|
\label{sec:narzedzia-profilowania}
|
||||||
|
|
||||||
|
|
||||||
\subsection{Wbudowane narzędzia diagnostyczne silników}
|
|
||||||
\label{subsec:wbudowane-narzedzia}
|
\label{subsec:wbudowane-narzedzia}
|
||||||
|
|
||||||
Zarówno Unity, jak i~Unreal Engine oferują własne, wbudowane narzędzia do analizy wydajności. Każde z~nich posiada unikalne cechy dostosowane do specyfiki danego silnika.
|
Zarówno Unity, jak i~Unreal Engine oferują własne, wbudowane narzędzia do analizy wydajności. Każde z~nich posiada unikalne cechy dostosowane do specyfiki danego silnika.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user