\babel@toc {czech}{}\relax \contentsline {section}{\numberline {1}Úvod}{8}{section.1}% \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}% \contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{15}{subsection.3.5}% \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}% \contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{16}{subsection.3.6}% \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}% \contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{21}{subsubsection.3.8.1}% \contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{21}{subsubsection.3.8.2}% \contentsline {subsubsection}{\numberline {3.8.3}Async/Await}{22}{subsubsection.3.8.3}% \contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{22}{subsubsection.3.8.4}% \contentsline {section}{\numberline {4}Hra}{23}{section.4}% \contentsline {subsection}{\numberline {4.1}Engine}{23}{subsection.4.1}% \contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{24}{subsubsection.4.1.1}% \contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{24}{subsubsection.4.1.2}% \contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{24}{subsubsection.4.1.3}% \contentsline {section}{\numberline {5}Hra více hráčů}{27}{section.5}% \contentsline {subsection}{\numberline {5.1}Server}{27}{subsection.5.1}% \contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{28}{subsubsection.5.1.1}% \contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{29}{subsubsection.5.1.2}% \contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{29}{subsubsection.5.1.3}% \contentsline {subsection}{\numberline {5.2}Klient}{29}{subsection.5.2}% \contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{29}{subsubsection.5.2.1}% \contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{29}{subsubsection.5.2.2}% \contentsline {subsubsection}{\numberline {5.2.3}Rollback}{30}{subsubsection.5.2.3}% \contentsline {subsection}{\numberline {5.3}Posílání zpráv}{30}{subsection.5.3}% \contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{30}{subsubsection.5.3.1}% \contentsline {subsubsection}{\numberline {5.3.2}Implementace}{31}{subsubsection.5.3.2}% \contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{31}{subsubsection.5.3.3}% \contentsline {subsection}{\numberline {5.4}Serializace}{31}{subsection.5.4}% \contentsline {subsection}{\numberline {5.5}Protokol QUICr}{32}{subsection.5.5}% \contentsline {subsubsection}{\numberline {5.5.1}Rámce}{33}{subsubsection.5.5.1}% \contentsline {subsubsection}{\numberline {5.5.2}Handshake}{33}{subsubsection.5.5.2}% \contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{34}{subsubsection.5.5.3}% \contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{35}{subsubsection.5.5.4}% \contentsline {subsubsection}{\numberline {5.5.5}Testování}{36}{subsubsection.5.5.5}% \contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{36}{subsubsection.5.5.6}% \contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{36}{subsubsection.5.5.7}% \contentsline {subsection}{\numberline {5.6}Sharding}{36}{subsection.5.6}% \contentsline {subsection}{\numberline {5.7}Horizontální škálování}{36}{subsection.5.7}% \contentsline {section}{\numberline {6}Výsledná hra}{37}{section.6}% \contentsline {section}{\numberline {7}Měřění}{38}{section.7}% \contentsline {subsection}{\numberline {7.1}Metriky}{38}{subsection.7.1}% \contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{38}{subsubsection.7.1.1}% \contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{38}{subsubsection.7.1.2}% \contentsline {subsubsection}{\numberline {7.1.3}Grafana}{38}{subsubsection.7.1.3}% \contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{39}{subsubsection.7.1.4}% \contentsline {subsubsection}{\numberline {7.1.5}ImGui}{39}{subsubsection.7.1.5}% \contentsline {subsubsection}{\numberline {7.1.6}Tracy}{39}{subsubsection.7.1.6}% \contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{40}{subsubsection.7.1.7}% \contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{40}{subsubsection.7.1.8}% \contentsline {subsection}{\numberline {7.2}QUICr}{41}{subsection.7.2}% \contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{43}{subsection.7.3}% \contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{45}{subsection.7.4}% \contentsline {subsection}{\numberline {7.5}Závěry}{46}{subsection.7.5}% \contentsline {section}{Z\'av\v er}{47}{section*.3}% \babel@toc {czech}{}\relax \babel@toc {czech}{}\relax \contentsline {section}{Conclusions}{48}{section*.5}% \babel@toc {english}{}\relax \babel@toc {czech}{}\relax \contentsline {section}{\numberline {A}První příloha}{49}{appendix.A}% \contentsline {section}{\numberline {B}Druhá příloha}{49}{appendix.B}% \contentsline {section}{\numberline {C}Obsah elektronických dat}{49}{appendix.C}% \contentsline {section}{Seznam zkratek}{51}{section*.7}%