changeset 13:083c7035b2cf

fix
author Yutaka_Kinjyo
date Wed, 13 Apr 2011 10:27:01 +0900
parents e6a78ee8fb13
children 06fe904e1951
files presen/presen.html
diffstat 1 files changed, 201 insertions(+), 214 deletions(-) [+]
line wrap: on
line diff
--- a/presen/presen.html	Tue Apr 12 17:13:21 2011 +0900
+++ b/presen/presen.html	Wed Apr 13 10:27:01 2011 +0900
@@ -253,27 +253,25 @@
 <h1>RenderingEngine</h1>
 
 RenderingEngineの例題<br>
-月と
+地球と月の例題
 
 <table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
 <tr>
 <th></th>
 <th>FPS</th>
-<th>稼働率</th>
+<th>mail待ちに割合</th>
+<th>SPE稼働率</th>
 <!--<th>Mac(Core2Duo)</th>-->
-<th>SPE稼働率</th>
 </tr>
 <tr align="center">
 <td>universe</td>
 <td>17FPS</td>
+<td>72.6%</td>
 <td>25.4%</td>
-<!--<td>1.76s</td>29%-->
 </tr>
 </table>
 
 
-
-
 </div>
 
 
@@ -292,28 +290,6 @@
 
 </div>
 
-<div class="slide">
-<h1>RenderingEngineの構成</h1>
-RenderingEngineの構成
-<ul>
-  <li>CreatePolygon</li>
-  <ul>
-    <li>モデリングデータからポリゴンを生成する</li>
-  </ul>
-  <li>CreateSpan</li>
-  <ul>
-    <li>ポリゴンをSpanと呼ばれる水平な線に分ける</li>
-    </ul>
-  <li>DrawSpan</li>
-  <ul>
-    <li>Spanを実際にディスプレイに描画する</li>
-  </ul>
-</ul><br>
-
-RenderingEngineは3種類のTaskから構成されている
-
-</div>
-
 
 <div class="slide">
 <h1>RenderingEngine</h1>
@@ -327,7 +303,6 @@
     <li>他のSPEを待つ</li>
     <li>次のTaskListを待つ</li>
   </ul>
-  <li>PPE側でTaskを生成、各SPEに割り振る</li>
   <li>Taskはバリア同期している</li>
 </ul>
 
@@ -369,31 +344,203 @@
 
 
 <div class="slide">
-<h1>Ceriumの改良点の概要</h1>
+<h1>RenderingEngineの構成</h1>
+RenderingEngineの構成
+<ul>
+  <li>CreatePolygon</li>
+  <ul>
+    <li>モデリングデータからポリゴンを生成する(PPE)</li>
+  </ul>
+  <li>CreateSpan</li>
+  <ul>
+    <li>ポリゴンをSpanと呼ばれる水平な線に分ける(SPE)</li>
+    </ul>
+  <li>DrawSpan</li>
+  <ul>
+    <li>Spanを実際にディスプレイに描画する(SPE)</li>
+  </ul>
+</ul><br>
+
+RenderingEngineは3種類のTaskから構成されている
+
+</div>
+
+
+<div class="slide">
+<h1>パイプライン化</h1>
+
+地球と月を表示する例題(universe)を使用。
+
+<table height="100%" width="100%" border="0">
+<tr><td align="center" valign="middle">
+<img src="gazo/universe.png" style="width: 45%%"></td></tr>
+</table>
+
+</div>
+
+<div class="slide">
+<h1>パイプライン化の比較</h1>
 
-Ceriumの改良点の概要
+<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
+<caption>パイプライン化の効果(universe)</caption>
+<tr>
+<th></th>
+<th>FPS</th>
+<th>mail待ちの割合</th>
+<th>稼働率</th>
+</tr>
+<tr align="center">
+<td>Pipelineあり</td>
+<td>19.6FPS</td>
+<td>68.8%</td>
+<td>29%</td>
+</tr>
+<tr>
+<tr align="center">
+<td>Pipelineなし</td>
+<td>17FPS</td>
+<td>72.6%</td>
+<td>25.4%</td>
+</tr>
+
+</table>
+</div>
+
+<div class="slide">
+<h1>パイプライン化の比較</h1>
+
+地球と月を表示する例題(universe)を使用。
+
+<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
+<caption>パイプライン化の効果(universe)</caption>
+<tr>
+<th></th>
+<th>FPS</th>
+<th>mail待ちの割合</th>
+<th>稼働率</th>
+</tr>
+<tr align="center">
+<td>Pipelineあり</td>
+<td>19.6FPS</td>
+<td>68.8%</td>
+<td>29%</td>
+</tr>
+<tr>
+<tr align="center">
+<td>Pipelineなし</td>
+<td>17FPS</td>
+<td>72.6%</td>
+<td>25.4%</td>
+</tr>
+
+</table>
+</div>
+
+<div class="slide">
+<h1>RenderingEngine</h1>
+
+RenderingEngineでは、描画するためのテクスチャをSPEに読み込む必要がある<br>
+
+テクスチャをSPE内でのキャッシュした。
 
 <ul>
-  <li>TaskManager</li>
-  <ul>
-    <li>Taskの同期にはCellのMail機能を使う</li>
-    <li>Mailの同期するタイミングの改良</li>
-    <ul>
-      <li>MailQueue</li>
-      <li>TaskArray</li>
-    </ul>
+  <li>DrawSpan内で、描画するためのテクスチャデータを読み込む。</li>
+  <li>テクスチャは分割さていて、必要な時に必要な部分を読み込む</li>
+  <li>そこで、テクスチャをキャッシュするようにした(LRU)</li>
+  <li>テクスチャのデータはハッシュで管理する</li>
   </ul>
 
-  <li>RenderingEngine</li>
-  <ul>
-    <li>Taskのパイプライン化</li>
-    <li>扱う画像をSPE側でキャッシュする</li>
-  </ul>
+</div>
+
+
+
+<div class="slide">
+<h1>SPEのキャッシュ効果</h1>
+
+<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
+<caption>SPEのキャッシュの効果</caption>
+<tr>
+<th></th>
+<th>キャッシュなし</th>
+<th>キャッシュあり</th>
+<th>性能</th>
+</tr>
+
+<tr align="center">
+<td>ball_bound</td>
+<td>4FPS</td>
+<td>30FPS</td>
+<td>7.5倍</td>
+</tr>
 
-</ul>
+<tr align="center">
+<td>universe</td>
+<td>6FPS</td>
+<td>17FPS</td>
+<td>2.8倍</td>
+</tr>
+
+<tr align="center">
+<td>panel</td>
+<td>0.2FPS</td>
+<td>2.6FPS</td>
+<td>13倍</td>
+</tr>
+
+</table>
+
+<!--実は改良前の計測にバグが。
+キャッシュを無効にした場合にキャッシュヒットはしないが、
+キャッシュ処理は行う。つまり余計な処理が入っていた。
+-->
+
+<!--テクスチャは頻繁に読み込みが行われるので、キャッシュは有効だった。-->
+<!--Span一つに対して、分割されたテクスチャが複数必要。
+Spanの数は、1920x1080 の解像度で、最低でも8000ほどのテクスチャ読み込みが起こる。-->
 
 </div>
 
+
+<div class="slide">
+<h1>SPEのキャッシュ効果</h1>
+
+<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
+<caption>SPEのキャッシュの効果</caption>
+<tr>
+<th></th>
+<th>キャッシュなし</th>
+<th>キャッシュあり</th>
+<th>性能差</th>
+</tr>
+
+<tr align="center">
+<td>ball_bound</td>
+<td>28FPS</td>
+<td>30FPS</td>
+<td>+2FPS</td>
+</tr>
+
+<tr align="center">
+<td>universe</td>
+<td>22.9FPS</td>
+<td>17FPS</td>
+<td>-5.9FPS</td>
+</tr>
+
+<tr align="center">
+<td>panel</td>
+<td>5.0FPS</td>
+<td>2.6FPS</td>
+<td>-2.4FPS</td>
+</tr>
+
+</table>
+
+ball_bound は扱うテクスチャが少なく、小さい
+
+</div>
+
+
 <div class="slide">
 <h1>Mailbox機能</h1>
 CellのMailbox機能<br>
@@ -401,7 +548,7 @@
 <ul>
   <li>PPEとSPEとの間を双方向で32bitのデータを受け渡す</li>
   <li>FIFO キュー構造</li>
-</ul>
+</ul><br>
 Mailboxの種類
 <ul>
   <li>Inbount Mailbox(PPE->SPE 4つ)</li>
@@ -472,7 +619,7 @@
 地球と月を表示する例題を使って計測した。
 
 </div>
-
+<!--
 <div class="slide">
 <h1>Ceriumの改良点の概要</h1>
 
@@ -498,7 +645,7 @@
 </ul>
 
 </div>
-
+-->
 
 <div class="slide">
 <h1>TaskArray</h1>
@@ -507,7 +654,7 @@
 <ul>
   <li>依存関係はグループ化できる</li>
   <li>TaskArrayを用いて複数のTaskのMailを一つに扱う</li>
-</ul>
+</ul><br>
 
 Mailの数を減らせるので、Mailのための処理が減る。その分処理速度が上がる
 
@@ -535,7 +682,6 @@
 </div>
 
 
-
 <div class="slide">
 <h1>MailQueueとTaskArray</h1>
 
@@ -577,177 +723,18 @@
 
 
 <div class="slide">
-<h1>Ceriumの改良点の概要</h1>
-
-Ceriumの改良点の概要
-
-<ul>
-  <li>TaskManager</li>
-  <ul>
-    <li>Taskの同期にはCellのMailbox機能を使う</li>
-    <li>Mailの同期するタイミングの改良</li>
-    <ul>
-      <li><s>MailQueue</s></li>
-      <li><s>TaskArray</s></li>
-    </ul>
-  </ul>
-
-  <li>RenderingEngine</li>
-  <ul>
-    <li>Taskのパイプライン化</li>
-    <li>扱う画像をSPE側でキャッシュする</li>
-  </ul>
-
-</ul>
-
-</div>
-
-
-
-
-<div class="slide">
-<h1>パイプライン化</h1>
-<table height="100%" width="100%" border="0">
-<tr><td align="center" valign="middle">
-<img src="gazo/renderingengine4.png" style="width: 40%%"></td></tr>
-</table>
-
-あまり、多段にするとゲームのキー入力の反映が遅れる。DrawSpanの処理が他の二つに比べて重いので
-DrawSpanとパイプラインを組むことで十分に隠れる
-
-</div>
-
-<div class="slide">
-<h1>パイプライン化の比較</h1>
-
-例題:<br>
-PS3上で学生実験で学生が作成したシューティングゲーム
-SuperDandy を用いる。
-
-
-</div>
-
-
-<div class="slide">
-<h1>パイプライン化の比較</h1>
-
-<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
-<caption>パイプライン化の効果(dandy)</caption>
-<tr>
-<th></th>
-<th>改良前</th>
-<th>改良後</th>
-<th>性能</th>
-</tr>
-<tr align="center">
-<td>dandy</td>
-<td>11.5FPS</td>
-<td>16.6FPS</td>
-<td>44%向上</td>
-</tr>
-</table>
-
-44%の向上がみられた。
-
-</div>
-
-<div class="slide">
-<h1>Ceriumの改良点の概要</h1>
-
-Ceriumの改良点の概要
-
-<ul>
-  <li>TaskManager</li>
-  <ul>
-    <li>Taskの同期にはCellのMailbox機能を使う</li>
-    <li>Mailの同期するタイミングの改良</li>
-    <ul>
-      <li><s>MailQueue</s></li>
-      <li><s>TaskArray</s></li>
-    </ul>
-  </ul>
-
-  <li>RenderingEngine</li>
-  <ul>
-    <li><s>Taskのパイプライン化</s></li>
-    <li>扱う画像をSPE側でキャッシュする</li>
-  </ul>
-
-</ul>
-
-</div>
-
-
-<div class="slide">
-<h1>SPEのキャッシュ効果</h1>
-
-SPE内でのキャッシュ
-
-<ul>
-  <li>DrawSpan内で、描画するためのテクスチャデータを読み込む。</li>
-  <li>テクスチャは分割さていて、必要な時に必要な部分を読み込む</li>
-  <li>そこで、テクスチャをキャッシュするようにした(LRU)</li>
-  <li>テクスチャのデータはハッシュで管理する</li>
-  </ul>
-
-</div>
-
-
-<div class="slide">
-<h1>SPEのキャッシュ効果</h1>
-
-<table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
-<caption>SPEのキャッシュの効果(universe)</caption>
-<tr>
-<th></th>
-<th>改良前</th>
-<th>改良後</th>
-<th>性能</th>
-</tr>
-
-<tr align="center">
-<td>ball_bound</td>
-<td>4FPS</td>
-<td>30FPS</td>
-<td>7.5倍</td>
-</tr>
-
-<tr align="center">
-<td>panel</td>
-<td>0.2FPS</td>
-<td>2.6FPS</td>
-<td>13倍</td>
-</tr>
-
-</table>
-
-テクスチャは頻繁に読み込みが行われるので、キャッシュは非常に有効だった。
-Span一つに対して、分割されたテクスチャが複数必要。
-Spanの数は、1920x1080 の解像度で、最低でも8000ほどのテクスチャ読み込みが起こる。
-
-</div>
-
-<div class="slide">
-<h1>SPEのキャッシュ効果</h1>
-
-実は改良前の計測にバグが。キャッシュを無効にした場合にキャッシュがHITしない動作
-
-
-</div>
-
-
-<div class="slide">
 <h1>OpenGLとの比較</h1>
 OpenGL(Open Graphics Library)とは、Silicon Graphics社が開発した、3Dグラフィックス処理の
 ためのプログラミングインターフェース。Taskに分割され、SPEを使用したCeriumと、PPEのみで動作
-するOpenGLとで、処理速度の比較をした。例題は先ほど紹介したSuperDandyを用いた。
+するOpenGLとで、処理速度の比較をした。<br><br>
+
+比較する例題には学生が実験中に作成したSuperDandyを用いた。
 </div>
 
 <div class="slide">
 <h1>OpenGLとの比較</h1>
 
 <table border="1" cellspacing="0" cellspacing="2" cellpadding="10" align="center">
-<caption>パイプライン化の効果(universe)</caption>
 <tr>
 <th></th>
 <th>OpenGL</th>
@@ -778,7 +765,7 @@
 <ul>
   <li>MailQueue</li>
   <li>TaskArray</li>
-</ul>
+</ul><br>
 
 で待ち時間の削減ができる
 
@@ -791,7 +778,7 @@
 
 <ul>
   <li>Task実行をパイプライン化</li>
-</ul>
+</ul><br>
 
 SPEの待ち時間を解消できる。頻繁に扱うデータはSPE内でキャッシュするのがよい