Mercurial > hg > Papers > 2008 > akira-master
diff paper/exploit_techinique.tex @ 5:d655863e53b0
*** empty log message ***
author | akira |
---|---|
date | Sat, 16 Feb 2008 12:37:47 +0900 |
parents | 3f96fdc6d522 |
children | 5ed3b4005142 |
line wrap: on
line diff
--- a/paper/exploit_techinique.tex Sat Feb 16 03:05:29 2008 +0900 +++ b/paper/exploit_techinique.tex Sat Feb 16 12:37:47 2008 +0900 @@ -9,9 +9,14 @@ \caption{Adapterを用いたゲームプログラムの移植} \label{fig:porting} \end{figure} -\section{} \subsection{リファクタリングの詳細} 今回我々はOSMesaの高速化を実装したときにデバッグ環境がほとんどなく、とても苦労した。そこで我々は一度シーケンシャルなアルゴリズムで実装し、それをCellに移植するようにした。 シーケンシャルなアルゴリズムの実装では以下のようになる。 \input{src/overview-gameprogram.c} -これはSDLとSDL\_imageがインストールされている環境だとどこででも動作することができる。これらをいったん動作させ、正しく動かすことを確認する。その際、シーングラフの更新とSpanPackの生成、テクスチャーの生成などはSPUで動作することを前提としてプログラムを記述しなければならない。つまり、シーングラフの出力とSpanPackの生成の入力が同じになるように設計を行う。同様にSpanPackの生成の出力とテクスチャの生成の入力が同じにならなければならない。そうすることにより、よりCell上への移行がよりスムーズになる。 +これはSDLとSDL\_imageがインストールされている環境だとどこででも動作することができる。これらをいったん動作させ、正しく動かすことを確認する。その際、シーングラフの更新とSpanPackの生成、テクスチャーの生成などはSPUで動作することを前提としてプログラムを記述しなければならない。つまり、シーングラフの出力とSpanPackの生成の入力が同じになるように設計を行う。同様にSpanPackの生成の出力とテクスチャの生成の入力が同じにならなければならない。そうすることにより、よりCell上への移行がよりスムーズになる。\\ +\subsection{デバッグ} +シーケンシャルな環境と並列分散の環境でのデバッグは難しさがだいぶ異なる。\\ +シーケンシャルなアルゴリズムでいったん実装した後、Cellの環境に容易に移すことが可能ならば、Cellの並列環境の上でデバッグを行う必要がなくなる。シーケンシャルな環境で実装する際にもスレッドを使わないようなデバッグが容易にできるようなプログラム記述が求められる。 +\section{まとめ} +我々は開発段階としてシーケンシャルなアルゴリズムでの実装、SPUにマッピングするデータ構造を用いたシーケンシャルアルゴリズムでの実装、Cellへのマッピングという風に開発を行った。そうすることで新たなゲーム開発環境ができたときもシーケンシャルなアルゴリズムから開発できるというメリットがある。またデバッグを行うことが難しい並列環境に置いても、それをより容易にデバッグすることを可能にした。 +