-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy paththesis.toc
executable file
·47 lines (47 loc) · 3.68 KB
/
thesis.toc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
\select@language {english}
\contentsline {chapter}{Summary}{i}{chapter*.1}
\contentsline {chapter}{Preface}{iii}{chapter*.2}
\contentsline {chapter}{Acknowledgements}{v}{chapter*.9}
\contentsline {chapter}{\numberline {1}About synchronization}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Background}{1}{section.1.1}
\contentsline {subsection}{\numberline {1.1.1}Rendering graphics}{2}{subsection.1.1.1}
\contentsline {subsection}{\numberline {1.1.2}When is the rendering synchronized?}{2}{subsection.1.1.2}
\contentsline {subsection}{\numberline {1.1.3}What needs to be synchronized?}{3}{subsection.1.1.3}
\contentsline {section}{\numberline {1.2}Synchronizing clocks over a network}{3}{section.1.2}
\contentsline {subsection}{\numberline {1.2.1}The NTP algorithm}{3}{subsection.1.2.1}
\contentsline {subsection}{\numberline {1.2.2}The Berkley algorithm}{4}{subsection.1.2.2}
\contentsline {subsection}{\numberline {1.2.3}Cristians algorithm}{4}{subsection.1.2.3}
\contentsline {subsection}{\numberline {1.2.4}PTP and GPS}{5}{subsection.1.2.4}
\contentsline {section}{\numberline {1.3}Problem definition}{5}{section.1.3}
\contentsline {chapter}{\numberline {2}Design of the application}{7}{chapter.2}
\contentsline {section}{\numberline {2.1}Overall architecture}{7}{section.2.1}
\contentsline {section}{\numberline {2.2}Why the Client-Server approach?}{7}{section.2.2}
\contentsline {section}{\numberline {2.3}Events}{8}{section.2.3}
\contentsline {section}{\numberline {2.4}Event queues}{9}{section.2.4}
\contentsline {section}{\numberline {2.5}Messaging}{9}{section.2.5}
\contentsline {section}{\numberline {2.6}Communication}{10}{section.2.6}
\contentsline {subsection}{\numberline {2.6.1}Protocols}{10}{subsection.2.6.1}
\contentsline {subsection}{\numberline {2.6.2}Sockets}{10}{subsection.2.6.2}
\contentsline {subsection}{\numberline {2.6.3}Replacing the network layer}{10}{subsection.2.6.3}
\contentsline {section}{\numberline {2.7}Threading}{11}{section.2.7}
\contentsline {section}{\numberline {2.8}Animations}{11}{section.2.8}
\contentsline {subsection}{\numberline {2.8.1}Tweening}{11}{subsection.2.8.1}
\contentsline {chapter}{\numberline {3}Synchronizing the clients}{13}{chapter.3}
\contentsline {section}{\numberline {3.1}Synchronizing the time}{13}{section.3.1}
\contentsline {subsection}{\numberline {3.1.1}Distributing deltas}{14}{subsection.3.1.1}
\contentsline {subsection}{\numberline {3.1.2}Calculating deltas}{15}{subsection.3.1.2}
\contentsline {subsection}{\numberline {3.1.3}Using the delta values}{15}{subsection.3.1.3}
\contentsline {section}{\numberline {3.2}Latencies}{15}{section.3.2}
\contentsline {subsection}{\numberline {3.2.1}Calculating the latency of a client}{15}{subsection.3.2.1}
\contentsline {subsection}{\numberline {3.2.2}Delaying animation start based on latency}{16}{subsection.3.2.2}
\contentsline {subsection}{\numberline {3.2.3}Skipping frames if delay is too long}{16}{subsection.3.2.3}
\contentsline {chapter}{\numberline {4}Running the demonstration application}{17}{chapter.4}
\contentsline {section}{\numberline {4.1}Running the programs}{17}{section.4.1}
\contentsline {section}{\numberline {4.2}Emulating network delays}{18}{section.4.2}
\contentsline {section}{\numberline {4.3}Interacting with the server}{19}{section.4.3}
\contentsline {section}{\numberline {4.4}Communication}{19}{section.4.4}
\contentsline {chapter}{\numberline {5}Conclusions}{21}{chapter.5}
\contentsline {section}{\numberline {5.1}Testing the application}{22}{section.5.1}
\contentsline {section}{\numberline {5.2}Limitations}{22}{section.5.2}
\contentsline {chapter}{\numberline {A}Log from two clients running on the same computer}{23}{appendix.A}
\contentsline {chapter}{\numberline {B}The Tween class}{25}{appendix.B}