2026-04-08 11:21:35 +02:00
|
|
|
\babel@toc {czech}{}\relax
|
2026-07-20 09:45:09 +02:00
|
|
|
\contentsline {section}{\numberline {1}Úvod}{8}{section.1}%
|
2026-07-29 06:59:44 +02:00
|
|
|
\contentsline {section}{\numberline {2}Síťové systémy}{9}{section.2}%
|
|
|
|
|
\contentsline {section}{\numberline {3}Distribuované systémy}{9}{section.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.1}Architektury}{9}{subsection.3.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.1.1}Softwarová architektura}{10}{subsubsection.3.1.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.1.2}Systémové architektury}{10}{subsubsection.3.1.2}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.2}Komunikace}{11}{subsection.3.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.2.1}Modely pro komunikaci}{12}{subsubsection.3.2.1}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.3}Počítačová Síť}{12}{subsection.3.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.4}Komunikace v síti}{13}{subsection.3.4}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.4.1}Rodina protokolů TCP/IP}{13}{subsubsection.3.4.1}%
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{16}{subsection.3.5}%
|
2026-07-29 06:59:44 +02:00
|
|
|
\contentsline {subsubsection}{\numberline {3.5.1}HTTP}{16}{subsubsection.3.5.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.5.2}HTTP/3}{16}{subsubsection.3.5.2}%
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{17}{subsection.3.6}%
|
2026-07-29 06:59:44 +02:00
|
|
|
\contentsline {subsubsection}{\numberline {3.6.1}TCP}{17}{subsubsection.3.6.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.6.2}UDP}{18}{subsubsection.3.6.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.6.3}QUIC}{18}{subsubsection.3.6.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.7}Sokety}{21}{subsection.3.7}%
|
|
|
|
|
\contentsline {subsection}{\numberline {3.8}Asynchroní vstupně výstupní operace}{21}{subsection.3.8}%
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{22}{subsubsection.3.8.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{22}{subsubsection.3.8.2}%
|
2026-07-29 06:59:44 +02:00
|
|
|
\contentsline {subsubsection}{\numberline {3.8.3}Async/Await}{22}{subsubsection.3.8.3}%
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{23}{subsubsection.3.8.4}%
|
|
|
|
|
\contentsline {section}{\numberline {4}Hra}{24}{section.4}%
|
|
|
|
|
\contentsline {subsection}{\numberline {4.1}Engine}{24}{subsection.4.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{25}{subsubsection.4.1.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{25}{subsubsection.4.1.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{25}{subsubsection.4.1.3}%
|
|
|
|
|
\contentsline {section}{\numberline {5}Hra více hráčů}{28}{section.5}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.1}Server}{28}{subsection.5.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{29}{subsubsection.5.1.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{30}{subsubsection.5.1.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{30}{subsubsection.5.1.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.2}Klient}{30}{subsection.5.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{30}{subsubsection.5.2.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{30}{subsubsection.5.2.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{31}{subsubsection.5.2.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{31}{subsection.5.3}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{31}{subsubsection.5.3.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{32}{subsubsection.5.3.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{32}{subsubsection.5.3.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.4}Serializace}{32}{subsection.5.4}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{33}{subsection.5.5}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{34}{subsubsection.5.5.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{34}{subsubsection.5.5.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{35}{subsubsection.5.5.3}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{36}{subsubsection.5.5.4}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.5}Testování}{37}{subsubsection.5.5.5}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{37}{subsubsection.5.5.6}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{37}{subsubsection.5.5.7}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.6}Sharding}{37}{subsection.5.6}%
|
|
|
|
|
\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{37}{subsection.5.7}%
|
|
|
|
|
\contentsline {section}{\numberline {6}Výsledná hra}{38}{section.6}%
|
|
|
|
|
\contentsline {section}{\numberline {7}Měřění}{39}{section.7}%
|
|
|
|
|
\contentsline {subsection}{\numberline {7.1}Metriky}{39}{subsection.7.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{39}{subsubsection.7.1.1}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{39}{subsubsection.7.1.2}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{39}{subsubsection.7.1.3}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{40}{subsubsection.7.1.4}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{40}{subsubsection.7.1.5}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{40}{subsubsection.7.1.6}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{41}{subsubsection.7.1.7}%
|
|
|
|
|
\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{41}{subsubsection.7.1.8}%
|
|
|
|
|
\contentsline {subsection}{\numberline {7.2}QUICr}{42}{subsection.7.2}%
|
|
|
|
|
\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{44}{subsection.7.3}%
|
|
|
|
|
\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{46}{subsection.7.4}%
|
|
|
|
|
\contentsline {subsection}{\numberline {7.5}Závěry}{47}{subsection.7.5}%
|
|
|
|
|
\contentsline {section}{Z\'av\v er}{48}{section*.3}%
|
2026-04-08 11:21:35 +02:00
|
|
|
\babel@toc {czech}{}\relax
|
|
|
|
|
\babel@toc {czech}{}\relax
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {section}{Conclusions}{49}{section*.5}%
|
2026-04-08 11:21:35 +02:00
|
|
|
\babel@toc {english}{}\relax
|
|
|
|
|
\babel@toc {czech}{}\relax
|
2026-07-30 07:51:28 +02:00
|
|
|
\contentsline {section}{\numberline {A}První příloha}{50}{appendix.A}%
|
|
|
|
|
\contentsline {section}{\numberline {B}Druhá příloha}{50}{appendix.B}%
|
|
|
|
|
\contentsline {section}{\numberline {C}Obsah elektronických dat}{50}{appendix.C}%
|
|
|
|
|
\contentsline {section}{Seznam zkratek}{52}{section*.7}%
|