\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ě}{16}{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ě}{17}{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}{22}{subsubsection.3.8.1}% \contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{22}{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}{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}% \babel@toc {czech}{}\relax \babel@toc {czech}{}\relax \contentsline {section}{Conclusions}{49}{section*.5}% \babel@toc {english}{}\relax \babel@toc {czech}{}\relax \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}%