comparison Poster/riono-slide.html @ 59:ac5582e1aa2d

add poster slide
author riono <e165729@ie.u-ryukyu.ac.jp>
date Fri, 18 Feb 2022 03:36:25 +0900
parents
children 5ce28c1f79ca
comparison
equal deleted inserted replaced
58:c269b11bb810 59:ac5582e1aa2d
1
2
3
4
5
6 <!DOCTYPE html>
7 <html>
8 <head>
9 <meta http-equiv="content-type" content="text/html;charset=utf-8">
10 <title>継続を使用する並列分散フレームワークのUnity実装</title>
11
12 <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.6.3 (2019-04-16) [universal.x86_64-darwin19]">
13 <meta name="author" content="Ryo Yasuda, Shinji Kono" >
14
15 <!-- style sheet links -->
16 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection">
17 <link rel="stylesheet" href="s6/themes/screen.css" media="screen">
18 <link rel="stylesheet" href="s6/themes/print.css" media="print">
19 <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection">
20
21 <!-- JS -->
22 <script src="s6/js/jquery-1.11.3.min.js"></script>
23 <script src="s6/js/jquery.slideshow.js"></script>
24 <script src="s6/js/jquery.slideshow.counter.js"></script>
25 <script src="s6/js/jquery.slideshow.controls.js"></script>
26 <script src="s6/js/jquery.slideshow.footer.js"></script>
27 <script src="s6/js/jquery.slideshow.autoplay.js"></script>
28
29 <!-- prettify -->
30 <link rel="stylesheet" href="scripts/prettify.css">
31 <script src="scripts/prettify.js"></script>
32
33 <script>
34 $(document).ready( function() {
35 Slideshow.init();
36
37 $('code').each(function(_, el) {
38 if (!el.classList.contains('noprettyprint')) {
39 el.classList.add('prettyprint');
40 }
41 });
42 prettyPrint();
43 } );
44
45 </script>
46
47 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) -->
48 <!--[if IE]>
49 <script src="s6/js/jquery.microsoft.js"></script>
50 <![endif]-->
51
52
53
54 </head>
55 <body>
56
57 <div class="layout">
58 <div id="header"></div>
59 <div id="footer">
60 <div align="right">
61 <img src="s6/images/logo.svg" width="200px">
62 </div>
63 </div>
64 </div>
65
66 <div class="presentation">
67
68 <div class='slide cover'>
69 <table width="90%" height="90%" border="0" align="center">
70 <tr>
71 <td>
72 <div align="center">
73 <h1><font color="#808db5">継続を使用する並列分散フレームワークのUnity実装</font></h1>
74 </div>
75 </td>
76 </tr>
77 <tr>
78 <td>
79 <div align="left">
80 Ryo Yasuda, Shinji Kono
81 並列信頼研
82 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;">
83 </div>
84 </td>
85 </tr>
86 </table>
87 </div>
88
89
90
91 <div class='slide'>
92
93 <!-- _S9SLIDE_ -->
94 <h2 id="オンラインゲームにおけるデータ通信">オンラインゲームにおけるデータ通信</h2>
95 <ul>
96 <li>ゲームの通信方式にはクライアントサーバ方式とp2p方式がある</li>
97 <li>データの安全性や通信環境などでクライアントサーバ方式が主流</li>
98 <li>サーバに接続して複数ユーザのデータ同期を実現させているため、低速</li>
99 <li>高速に通信を行たい
100 <ul>
101 <li>並列分散フレームワークChristieがある</li>
102 <li>ChristieはLAN上で高速に通信可能</li>
103 <li>TopologyManagerを使用することでLAN/WAN上で動的構築される</li>
104 </ul>
105 </li>
106 <li>ゲーム開発で主に使用されているUnityに対応するためにChristieをC#へ書き換えを行う</li>
107 </ul>
108
109
110
111 </div>
112
113 <div class='slide'>
114 <!-- _S9SLIDE_ -->
115 <h2 id="christie">Christie</h2>
116 <ul>
117 <li>Christieは当研究室で開発している並列分散ライブラリ</li>
118 <li>Gearという概念を持っており、DataGearによるTake/Putを使用</li>
119 <li>クラスに相当するCodeGearとフィールド変数に相当するDataGearがある</li>
120 <li>CodeGearに記述されたDataGearが全て揃う(代入される)とCodeGearの処理が実行される</li>
121 </ul>
122
123
124
125 </div>
126
127 <div class='slide'>
128 <!-- _S9SLIDE_ -->
129 <h2 id="unityにおけるネットワーク通信">Unityにおけるネットワーク通信</h2>
130 <ul>
131 <li>Unityは世界中で使用されているゲームエンジン</li>
132 <li>言語としてC#がサポートされている</li>
133 <li>フレーム単位の処理が行われ、シングルスレッドで動作しているため並列処理が苦手</li>
134 <li>Send/Recieveなどでは通信を記述しづらい</li>
135 <li>Christieにより画面書き換えと非同期な並列処理や通信が可能</li>
136 </ul>
137
138
139
140 </div>
141
142 <div class='slide'>
143 <!-- _S9SLIDE_ -->
144 <h2 id="cへの書き換える利点">C#への書き換える利点</h2>
145 <ul>
146 <li>ChristieはJavaで実装されている
147 <ul>
148 <li>C#に書き換えを行うべきか</li>
149 </ul>
150 </li>
151 <li>JavaをC#上で呼び出す方式
152 <ul>
153 <li>annotationが使用できない</li>
154 </ul>
155 </li>
156 <li>Unityはandroidの開発向けにjarファイルからJavaのメソッドをC#上で呼び出せる機能がある
157 <ul>
158 <li>stringを使用してリソースディレクトリから検索し、使用</li>
159 <li>高速化が求められる並列分散プログラミングには不適</li>
160 </ul>
161 </li>
162 <li>記述方法が似ているため移植が行いやすい</li>
163 <li>ThreadPoolをC#で統一できる</li>
164 </ul>
165
166
167
168 </div>
169
170 <div class='slide'>
171 <!-- _S9SLIDE_ -->
172 <h2 id="cへ書き換えの方針">C#へ書き換えの方針</h2>
173 <ul>
174 <li>C#で記述するChristieをChristie Sharpとする</li>
175 <li>Christie設計時の意図や、互換性を保つためChristieと同じ動作をさせる</li>
176 <li>ChristieはJava9から開発されており、非推奨なコードやが含まれている</li>
177 <li>C#に対応しつつ、処理動作の向上や最適化を行うために以下の変更を行った
178 <ul>
179 <li>MessagePackのバージョンアップ</li>
180 <li>ThreadPoolからTaskへ変更</li>
181 </ul>
182 </li>
183 </ul>
184
185
186
187 </div>
188
189 <div class='slide'>
190 <!-- _S9SLIDE_ -->
191 <h2 id="unityの動作">Unityの動作</h2>
192 <!--デモ?-->
193
194
195
196 </div>
197
198 <div class='slide'>
199 <!-- _S9SLIDE_ -->
200 <h2 id="他の通信ライブラリと比較">他の通信ライブラリと比較</h2>
201
202
203
204 </div>
205
206 <div class='slide'>
207 <!-- _S9SLIDE_ -->
208 <h2 id="まとめ">まとめ</h2>
209
210
211
212 </div>
213
214 <div class='slide'>
215 <!-- _S9SLIDE_ -->
216 <h2 id="今後の課題">今後の課題</h2>
217
218
219 </div>
220
221
222 </div><!-- presentation -->
223 </body>
224 </html>