annotate presen/pre.html @ 18:c7344fbacd60 default tip

add image
author aaa
date Thu, 18 Feb 2010 14:27:51 +0900
parents 5f9478510c44
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
1 <?xml version="1.0" encoding="utf-8"?>
afa29ac9f050 add presen
aaa
parents:
diff changeset
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
afa29ac9f050 add presen
aaa
parents:
diff changeset
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
afa29ac9f050 add presen
aaa
parents:
diff changeset
4 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
afa29ac9f050 add presen
aaa
parents:
diff changeset
5 <head>
12
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
6 <!--<title>SceneGraph を用いたマルチコア CPU 向けゲームの処理</title> -->
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
7 <title>マルチコア CPU 上における SceneGraph を用いたゲームの作成</title>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
8 <meta name="copyright"
afa29ac9f050 add presen
aaa
parents:
diff changeset
9 content="Copyright &#169; 2005 your copyright notice" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
10 <link rel="stylesheet" type="text/css" media="screen, projection, print"
afa29ac9f050 add presen
aaa
parents:
diff changeset
11 href="./slidy.css" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
12 <link rel="stylesheet" type="text/css" media="screen, projection, print"
afa29ac9f050 add presen
aaa
parents:
diff changeset
13 href="./user.css" />
afa29ac9f050 add presen
aaa
parents:
diff changeset
14 <script src="./slidy.js"
afa29ac9f050 add presen
aaa
parents:
diff changeset
15 type="text/javascript"></script>
afa29ac9f050 add presen
aaa
parents:
diff changeset
16 <style type="text/css">
afa29ac9f050 add presen
aaa
parents:
diff changeset
17 <!-- your custom style rules -->
afa29ac9f050 add presen
aaa
parents:
diff changeset
18 </style>
afa29ac9f050 add presen
aaa
parents:
diff changeset
19 </head>
afa29ac9f050 add presen
aaa
parents:
diff changeset
20 <body>
afa29ac9f050 add presen
aaa
parents:
diff changeset
21
afa29ac9f050 add presen
aaa
parents:
diff changeset
22 <div class="slide cover">
afa29ac9f050 add presen
aaa
parents:
diff changeset
23 <center>
12
0786f5b33f5f fix resume
aaa
parents: 11
diff changeset
24 <h1>マルチコア CPU における<br> SceneGraph を用いたゲームの作成</h1>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
25 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
26 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
27 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
28 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
29 <ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
30 <li>琉球大学 工学部 情報工学科 065746J
afa29ac9f050 add presen
aaa
parents:
diff changeset
31 <li>仲宗根広樹
afa29ac9f050 add presen
aaa
parents:
diff changeset
32 <li>指導教官:河野真治
afa29ac9f050 add presen
aaa
parents:
diff changeset
33 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
34 </center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
35 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
36
afa29ac9f050 add presen
aaa
parents:
diff changeset
37 <div class="slide pre">
afa29ac9f050 add presen
aaa
parents:
diff changeset
38 <h1>研究目的と背景</h1>
11
aac2e16af8c4 fix presen
aaa
parents: 8
diff changeset
39 <font size="6"><sup><b>高度な並列性を持つゲームマシンの性能を生かすために<br>プログラムの並列度を向上させる</b></sup></font>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
40 <ul style="line-height: 1.2;">
afa29ac9f050 add presen
aaa
parents:
diff changeset
41 <li>当研究室では、学生実験で PlayStation 3 上でゲームプログラミングを行っている。
afa29ac9f050 add presen
aaa
parents:
diff changeset
42 <ul style="line-height: 1.2;">
afa29ac9f050 add presen
aaa
parents:
diff changeset
43 <li>ゲーム中の一つの場面を構成するオブジェクトやその振る舞い<br>ゲームのルールの集合である SceneGraph を導入した。
afa29ac9f050 add presen
aaa
parents:
diff changeset
44 <li>SceneGraph の動作や衝突判定を一つの CPU で処理している。
afa29ac9f050 add presen
aaa
parents:
diff changeset
45 <li>プログラムの並列化率が低ければその性能を生かすことができない
afa29ac9f050 add presen
aaa
parents:
diff changeset
46 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
47 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
48 <center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
49 <font size="6"><sup><b>本研究では SceneGraph を<br>複数 CPU を用いて並列処理することを目的とする</b></sup></font>
afa29ac9f050 add presen
aaa
parents:
diff changeset
50 </center>
afa29ac9f050 add presen
aaa
parents:
diff changeset
51 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
52
afa29ac9f050 add presen
aaa
parents:
diff changeset
53 <div class="slide pre">
afa29ac9f050 add presen
aaa
parents:
diff changeset
54 <h1>発表の流れ</h1>
afa29ac9f050 add presen
aaa
parents:
diff changeset
55 <ul style="line-height: 1.2;">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
56 <li>SceneGraph とは</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
57 <li>動作と描画の処理</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
58 <li>Property の導入</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
59 <li>Property を用いた例題</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
60 <li>評価</li>
6
aaa
parents: 3
diff changeset
61 <li>今後の課題
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
62 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
63 <br>
afa29ac9f050 add presen
aaa
parents:
diff changeset
64 </ul>
afa29ac9f050 add presen
aaa
parents:
diff changeset
65 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
66
afa29ac9f050 add presen
aaa
parents:
diff changeset
67 <div class="slide pre">
6
aaa
parents: 3
diff changeset
68 <h1>SceneGraph とは</h1>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
69 SceneGraph とはゲーム中の全てのオブジェクトを表す Tree 構造である。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
70 <!--ゲーム中の一つの場面を構成するオブジェクトやその振る舞い、ゲームのルールの集合です。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
71 SceneGraph は Tree 構造です。<br>-->
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
72 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
73 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
74 <img src="image/SceneGraph.jpg" width="500">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
75 </center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
76 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
77 ゲーム内のオブジェクトは個別に SceneGraphNode に分けられているので、ノードを別個に処理すると自然と並列度がでてくる。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
78 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
79
7856523eef7e fix presen
aaa
parents: 12
diff changeset
80 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
81 <h1>SceneGraph とは(Con't)</h1>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
82 SceneGraph の内部構造
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
83 <!--
7
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
84 <h3>ゲーム中の1つの場面(Scene)を構成するオブジェクトやその振る舞い、ゲームのルールの集合</h3>
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
85 <center>
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
86 <img src="image/SceneGraph.png" width="500">
a2e7c1716ad2 fix resume
aaa
parents: 6
diff changeset
87 </center>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
88 -->
7856523eef7e fix presen
aaa
parents: 12
diff changeset
89 <font size="4">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
90 <table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
91 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
92 <td>データ</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
93 <td>説明</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
94 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
95 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
96 <td>Vertex</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
97 <td>ポリゴンオブジェクトの頂点座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
98 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
99 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
100 <td>Texture</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
101 <td>ポリゴンオブジェクトのテクスチャ座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
102 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
103 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
104 <td>TextureImage</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
105 <td>テクスチャイメージ</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
106 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
107 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
108 <td>TransMatrix</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
109 <td>ポリゴンオブジェクトの変換行列</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
110 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
111 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
112 <td>Coordinates</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
113 <td>オブジェクトの座標</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
114 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
115 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
116 <td>Angle</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
117 <td>オブジェクトの角度</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
118 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
119 <tr>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
120 <td><font color=red>Property</font></td>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
121 <td>オブジェクトの内部情報</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
122 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
123 </table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
124 <table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
125 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
126 <td>動作</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
127 <td>説明</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
128 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
129 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
130 <td>Move</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
131 <td>自律的なオブジェクトの動き</td>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
132 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
133 <tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
134 <td>Collision</td>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
135 <td>他のノードとの衝突判定</td>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
136 </tr>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
137 </table>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
138 </font>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
139 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
140
7856523eef7e fix presen
aaa
parents: 12
diff changeset
141 <div class="slide pre">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
142 <h1>ゲームの流れ</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
143 <font size="6"><b>オブジェクトが描画されるまでの流れ</b></font>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
144 <ul>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
145 <li>オブジェクトの動作を Move 関数、Collision 関数として定義する</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
146 <li>SceneGraph に Move, Collision をセットする</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
147 <li>全ての SceneGraph の Move, Collision が実行される</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
148 <li>Move, Collision によって SceneGraph の値が変更される</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
149 <li>変更された SceneGraph を用いて描画処理を行う</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
150 </ul>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
151 </div>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
152
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
153 <div class="slide pre">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
154 <h1>動作と描画の処理</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
155 <!--
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
156 <font size="5">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
157 <sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
158  SceneGraph の親子関係に沿って TransMatrix を計算し、Move, Collision を実行することで SceneGraph 内のオブジェクトが変化する。<br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
159  Collision によって Move が変更され、Move によって Coordinates, Angle が変更される。これらをどのように変更させていくかがゲームのルールとなる。
7856523eef7e fix presen
aaa
parents: 12
diff changeset
160 </sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
161 </font>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
162 -->
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
163 <font size="6"><sup>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
164 現在、画面の描画とオブジェクトの動作は逐次的に行われている。<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
165 </font></sup>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
166 <ul>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
167 <li>Cellは1基の制御系のプロセッサコアPPEと、8基の演算系プロセッサコアSPEで構成される
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
168 <li>現在、オブジェクトの動作は PPE で実行されている
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
169 <li>しかし、PPE よりも SPE の方が演算処理に優れている
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
170 <li>また SPE を用いることで並列に実行できる
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
171 <!--<li>オブジェクトの動作を SPE で処理することで演算速度の向上が見込める-->
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
172 </ul>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
173 <br>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
174 <font size="6">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
175 そこで、オブジェクトの動作を SPE で行うことにより、画面の描画と<font color="red">並列</font>に実行する。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
176 </font>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
177 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
178
7856523eef7e fix presen
aaa
parents: 12
diff changeset
179 <div class="slide pre">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
180 <h1>Property の導入</h1>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
181 <ul style="line-height: 1.2;">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
182 <li>SPE で処理するには PPE からデータを送り込む必要がある。</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
183 <!--<li>オブジェクトの動作には SceneGraph を用いていたので Polygon や Texture などの不要なデータが含まれている。</li>-->
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
184 <li>SceneGraph はオブジェクトの動作と描画処理の両方で用いられているので Polygon や Texture などの不要なデータが含まれている。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
185 <li>しかし、SPE の Local Store は 256KB しかないので、SceneGraph を全て転送すると容量を超えてしまう可能性がある。</li>
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
186 </ul>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
187 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
188 <font size="6">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
189 <sup>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
190 SceneGraph の代わりにゲームに必要な内部状態を保持した構造体 <font color=red>Property</font> を用いる。
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
191 </sup>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
192 </font>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
193 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
194
7856523eef7e fix presen
aaa
parents: 12
diff changeset
195 <div class="slide pre">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
196 <h1>Property の導入(Con't)</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
197 Property には以下のパラメータが含まれている
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
198 <ul style="line-height: 1.2;">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
199 <li>オブジェクトの動作に必要な Coordinates, Angle</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
200 <li>Tree を構成するための親子関係の情報</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
201 <li>SceneGraph を生成するための固有ID</li>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
202 </ul>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
203 <br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
204 Property はゲームごとに定義されている
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
205 </div>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
206
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
207 <div class="slide pre">
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
208 <h1>Property の処理</h1>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
209 <ul style="line-height: 1.2;">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
210 <li>Property を SPE に転送し、SPE 上でオブジェクトの動作を行い Property を更新する。<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
211 <li>更新されて返された Property を元に SceneGraphTree を生成する。
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
212 </ul>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
213 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
214 <img src="image/Property.jpg" width="350">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
215 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
216 </div>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
217
7856523eef7e fix presen
aaa
parents: 12
diff changeset
218 <div class="slide pre">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
219 <h1>Property を用いた例題</h1>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
220 Property を用いた例題として鎖のシミュレーション chain を使用した<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
221 この例題では Move の処理のみを行っており、Collision の処理は行っていない
16
7856523eef7e fix presen
aaa
parents: 12
diff changeset
222 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
223 <br>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
224 <center>
7856523eef7e fix presen
aaa
parents: 12
diff changeset
225 <img src="image/chain.png" width="300">
7856523eef7e fix presen
aaa
parents: 12
diff changeset
226 </center>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
227 </div>
afa29ac9f050 add presen
aaa
parents:
diff changeset
228
afa29ac9f050 add presen
aaa
parents:
diff changeset
229 <div class="slide pre">
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
230 <h1>実行速度比較</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
231 chain の Move を SPE で処理した場合と PPE で処理した場合の実行速度の比較を以下に示す。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
232 <center>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
233 <table>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
234 <tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
235 <td></td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
236 <td>FPS(Frame Par Second)</td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
237 </tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
238 <tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
239 <td>PPE</td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
240 <td align="center">2.708696</td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
241 </tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
242 <tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
243 <td><font color="blue">SPE</font></td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
244 <td align="center"><font color="blue">2.893348</font></td>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
245 </tr>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
246 </table>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
247 </center>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
248 <br>
18
c7344fbacd60 add image
aaa
parents: 17
diff changeset
249 Move を SPE で処理したことで<font color="red">約7%</font>の速度向上がみられた<br><br>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
250 Move は SPE 上にあるので、SIMD 演算を用いて、速度の向上が期待できる。
6
aaa
parents: 3
diff changeset
251 </div>
aaa
parents: 3
diff changeset
252
aaa
parents: 3
diff changeset
253 <div class="slide pre">
18
c7344fbacd60 add image
aaa
parents: 17
diff changeset
254 <h1>まとめと今後の課題</h1>
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
255 <ul style="line-height: 1.2;">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
256 <li>複数 SPE に均等に処理を割り振る例題の作成
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
257 <li>Collision を SPE で処理する例題の作成
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
258 <li>Property から SceneGraphTree を構築する部分において、SceneGraph の新規生成と削除を考慮した設計を行う
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
259 </ul>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
260 </div>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
261
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
262 <div class="slide pre">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
263 <h1></h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
264 ご清聴ありがとうございました
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
265 </div>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
266
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
267 <div class="slide pre">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
268 <h1>Cellとは</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
269
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
270 <big>Cell</big>とはソニー、東芝、IBM社の3社が共同開発したマイクロプロセッサ。 <br><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
271 Cellは1基の制御系のプロセッサコアPPEと、8基の演算系プロセッサコアSPEで構成される。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
272 (Ceriumで扱えるSPEの数は6基)それぞれ高速なバスで接続されている<br><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
273
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
274 <img src="image/cell1.png" style="width: 45%%">
6
aaa
parents: 3
diff changeset
275 </div>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
276
17
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
277 <div class="slide pre">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
278 <h1>Ceriumとは</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
279 <big>Cerium</big>とは当研究室で開発したゲーム開発用フレームワーク<br><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
280
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
281 <u>Task Manager</u><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
282  タスクと呼ばれる分割されたプログラムを管理する<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
283
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
284 <u>Scene Graph</u><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
285  ゲーム中のオブジェクトの振る舞いや、ルールを管理する。<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
286 <u>Rendering Engine</u><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
287  Cerium独自に開発した描画用のエンジン
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
288
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
289 <br><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
290 の3つの要素から構成される。<br><br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
291 Ceriumは PS3/Cell、linux, macosx 上で動作する。
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
292
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
293 </div>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
294
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
295 <div class="slide pre">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
296 <h1>SIMD 演算とは</h1>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
297 <font size="6">
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
298 <sup>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
299 SIMD 演算とは1つの命令で複数のデータに対して処理を行う演算方式<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
300 Cellでは、SPEに実装されている128ビットレジスタを用いてSIMDを行うことができる<br>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
301 </sup>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
302 </font>
5f9478510c44 fix presen
aaa
parents: 16
diff changeset
303 </div>
2
afa29ac9f050 add presen
aaa
parents:
diff changeset
304 </body>
afa29ac9f050 add presen
aaa
parents:
diff changeset
305 </html>