changeset 15:599e461dcb09

chapter "compare" add
author admin@mb22-no-macbook.local
date Mon, 23 Mar 2009 01:52:05 +0900
parents 08e4a7952793
children d1e6ef9c38dc
files paper/ARC183OS111-39.tex paper/compare.tex paper/rendering.tex
diffstat 3 files changed, 111 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/paper/ARC183OS111-39.tex	Mon Mar 23 00:05:42 2009 +0900
+++ b/paper/ARC183OS111-39.tex	Mon Mar 23 01:52:05 2009 +0900
@@ -1,1 +1,1 @@
-\documentclass{ipsjpapers}
\usepackage[dvipdfm]{graphicx}
\usepackage{url}

%\input{dummy.tex} %% Font 

% 巻数,号数などの設定
\setcounter{volume}{50}
\setcounter{number}{2}
\setcounter{volpageoffset}{1234}
\received{2008}{9}{17}
\accepted{2008}{11}{28}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)\nobreak}
\def\>{\nobreak\(\rangle\)}
%\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用
\begin{document}%{
% 和文表題
\title{Cell Task Manager Cerium のSPU内データ管理}
%%\title[{\protect\LaTeX} による論文作成のガイド]%{{\protect\LATEX} による論文作成のガイド(第7.1版)}
% 英文表題
\etitle{}

% 所属ラベルの定義
\affilabel{1}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
\affilabel{2}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}
\affilabel{3}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
\affilabel{4}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}

% 和文著者名
\author{
  多賀野海人\affiref{4}\and
  宮國 渡\affiref{1}\and
  河野 真治\affiref{2}\and
  小林佑亮\affiref{4}
}
	
% 英文著者名
\eauthor{
  Kaito TAGANO\affiref{4}\and
  Wataru MIYAGUNI\affiref{1}\and
  Shinji KONO\affiref{2}\and
  Yusuke KOBAYASHI\affiref{4}
}

% 和文概要
\begin{abstract}
PlayStation 3 では、
搭載されている Linux を用いてゲームを開発することができるが、
GPU の詳細が公開されていないため、
Frame Buffer 上に描画する必要がある。
Frame Buffer 上の描画は非常に低速である。
本研究では Cell 用の Task Manager を実装し、
Frame Buffer 上で高速な 3D Graphics Renderer を開発する。
\end{abstract}
\begin{eabstract}
% 英文概要
In PS3, the game can be developed by using installed Linux.
However, because details of GPU are unpublished,
it is necessary to draw on Frame Buffer. 
Drawing on Frame Buffer is very low-speed. 
In this research, we implement Task Manager for Cell and
develop 3D Graphics Renderer high-speed on Frame Buffer. 
\end{eabstract}

% 表題などの出力
\maketitle

%}{

% 本文はここから始まる
\input{introduction}   % 研究目的
\input{cell}           % Cell
\input{cerium}         % Cerium
\input{rendering}        % 開発過程
\input{compare}        % 評価と考察
\input{conclusion}     % まとめ

\nocite{kono}
\nocite{libspe2}
\bibliographystyle{ipsjunsrt}
\bibliography{sigos}

\end{document}
\ No newline at end of file
+\documentclass{ipsjpapers}
\usepackage[dvipdfm]{graphicx}
\usepackage{url}

%\input{dummy.tex} %% Font 

% 巻数,号数などの設定
\setcounter{volume}{50}
\setcounter{number}{2}
\setcounter{volpageoffset}{1234}
\received{2008}{9}{17}
\accepted{2008}{11}{28}

% ユーザが定義したマクロなど.
\makeatletter
\let\@ARRAY\@array \def\@array{\def\<{\inhibitglue}\@ARRAY}
\def\<{\(\langle\)\nobreak}
\def\>{\nobreak\(\rangle\)}
%\def\|{\verb|}
\def\Underline{\setbox0\hbox\bgroup\let\\\endUnderline}
\def\endUnderline{\vphantom{y}\egroup\smash{\underline{\box0}}\\}
\def\LATEX{\iLATEX\Large}
\def\LATEx{\iLATEX\normalsize}
\def\LATex{\iLATEX\small}
\def\iLATEX#1{L\kern-.36em\raise.3ex\hbox{#1\bf A}\kern-.15em
    T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}
\def\LATEXe{\ifx\LaTeXe\undefined \LaTeX 2e\else\LaTeXe\fi}
\def\LATExe{\ifx\LaTeXe\undefined \iLATEX\scriptsize 2e\else\LaTeXe\fi}
\def\Quote{\list{}{}\item[]}
\let\endQuote\endlist
\def\TT{\if@LaTeX@e\tt\fi}
\def\CS#1{\if@LaTeX@e\tt\expandafter\string\csname#1\endcsname\else
	$\backslash$#1\fi}

%\checklines	% 行送りを確認する時に使用
\begin{document}%{
% 和文表題
\title{Cell Task Manager Cerium のSPU内データ管理}
%%\title[{\protect\LaTeX} による論文作成のガイド]%{{\protect\LATEX} による論文作成のガイド(第7.1版)}
% 英文表題
\etitle{}

% 所属ラベルの定義
\affilabel{1}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
\affilabel{2}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}
\affilabel{3}{琉球大学理工学研究科情報工学専攻 \\Interdisciplinary Infomation Engineering, Graduate School of Engineering and Science, University of the Ryukyus.}
\affilabel{4}{琉球大学工学部情報工学科\\Infomation Engineering, University of the Ryukyus.}

% 和文著者名
\author{
  多賀野海人\affiref{4}\and
  宮國 渡\affiref{1}\and
  河野 真治\affiref{2}\and
  小林佑亮\affiref{4}
}
	
% 英文著者名
\eauthor{
  Kaito TAGANO\affiref{4}\and
  Wataru MIYAGUNI\affiref{1}\and
  Shinji KONO\affiref{2}\and
  Yusuke KOBAYASHI\affiref{4}
}

% 和文概要
\begin{abstract}
PlayStation 3 では、
搭載されている Linux を用いてゲームを開発することができるが、
GPU の詳細が公開されていないため、
Frame Buffer 上に描画する必要がある。
Frame Buffer 上の描画は非常に低速である。
本研究では Cell 用の Task Manager を実装し、
Frame Buffer 上で高速な 3D Graphics Renderer を開発する。
\end{abstract}
\begin{eabstract}
% 英文概要
In PS3, the game can be developed by using installed Linux.
However, because details of GPU are unpublished,
it is necessary to draw on Frame Buffer. 
Drawing on Frame Buffer is very low-speed. 
In this research, we implement Task Manager for Cell and
develop 3D Graphics Renderer high-speed on Frame Buffer. 
\end{eabstract}

% 表題などの出力
\maketitle

%}{

% 本文はここから始まる
\input{introduction}   % 研究目的
\input{cell}           % Cell
\input{cerium}         % Cerium
\input{rendering}      % 開発過程
\input{compare}        % 評価と考察
\input{conclusion}     % まとめ

\nocite{kono}
\nocite{libspe2}
\bibliographystyle{ipsjunsrt}
\bibliography{sigos}

\end{document}
\ No newline at end of file
--- a/paper/compare.tex	Mon Mar 23 00:05:42 2009 +0900
+++ b/paper/compare.tex	Mon Mar 23 01:52:05 2009 +0900
@@ -1,1 +1,42 @@
+\newpage
 \section{評価と考察}
+
+\subsection{Scale を用いた描画処理の効果検証}
+\begin{itemize}
+\item 検証に用いたサンプル (10個のオブジェクト)
+\begin{itemize}
+\item Polygon 総数 : 19860
+\item Texture 総数 : 10 \\
+(8x8(3)、512x384(2)、616x123(4)、1024x768(1)) pixel
+\end{itemize}
+\item 1つのオブジェクトが親、その他のオブジェクトが
+その子になり回転しながら移動する。
+\end{itemize}
+ \\
+\subsection{実行結果}
+
+\begin{table}[!h]
+  \begin{center}
+    \caption{Scale を用いることによる実行速度の比較}
+    \hbox to\hsize{\hfil
+      \begin{tabular}{c|l|l|l} \hline 
+       & Scaleなし(FPS) & Scaleあり (FPS) & 速度の向上 (\%)\\ \hline
+        \hline
+        Mac OSX & 7.0 & 8.5 & 21 \\ \hline
+        PS3Linux(SPE 1) & 4.3 & 5.6 & 30 \\ \hline
+        PS3Linux(SPE 6) & 10.8 & 13.5 & 25 \\ \hline
+      \end{tabular}\hfil}
+    \label{tb:scale}
+  \end{center}
+  \begin{center}
+    {\small *FPS とは Frame Per Second の略で、1秒間に何回画面を書き換えたかを表している。}
+  \end{center}
+\end{table}
+\begin{itemize}
+\item 実行速度の比較を行った結果、20 〜 30\% の速度向上が見られる。
+\item Mac OSX は SDL 経由で出力、PlayStation 3 は Frame Buffer へ直接出力している。
+\end{itemize}
+ \\
+\subsection{考察}
+
+
--- a/paper/rendering.tex	Mon Mar 23 00:05:42 2009 +0900
+++ b/paper/rendering.tex	Mon Mar 23 01:52:05 2009 +0900
@@ -53,9 +53,77 @@
 \end{figure}
 
 以下に Scale の作成と選択のプログラムを示す。
-
+ \\
+\begin{itemize}
+\item Scale の作成
+{\scriptsize
 \begin{verbatim}
 
+static uint32*
+makeTapestry(int tex_w, int tex_h, uint32 *tex_src,
+       int all_pixel_num, int scale_cnt)
+{
+ uint32 *tex_dest;
 
+ int t = 0;
+ int diff = TEXTURE_SPLIT_PIXEL;
+ int p_diff = 1;
+	
+ tex_dest = (uint32*)manager->allocate(sizeof(int)*all_pixel_num);
 
+ while (scale_cnt) {
+  for (int y = 0; y < tex_h; y += diff) {
+   for (int x = 0; x < tex_w; x += diff) {
+    for (int j = 0; j < diff; j += p_diff) {
+     for (int i = 0; i < diff; i += p_diff) {
+      tex_dest[t++] = tex_src[(x+i) + tex_w*(y+j)];
+     }
+    }
+   }
+  }
+			
+ diff <<= 1;
+ p_diff <<= 1;
+ scale_cnt >>= 1;
+ }
+    
+ return tex_dest;
+}
 \end{verbatim}
+}
+ \\
+\item 最適 Scale の選択
+
+{\scriptsize
+\begin{verbatim}
+
+static int
+getScale(int width, int height, int tex_width, int tex_height, int scale_max)
+{
+ int base, tex_base;
+ int scale = 1;
+
+ /**
+  * width と height で、長い方を基準に、
+  * texture の scale を決める
+  */
+ if (width > height) {
+  base = width;
+  tex_base = tex_width;
+ } else {
+  base = height;
+  tex_base = tex_height;
+ }
+
+ if (tex_base > base) {
+  int t_scale = tex_base/base;
+  while (t_scale >>= 1) {
+   scale <<= 1;
+  }
+ }
+
+ return (scale > scale_max) ? scale_max : scale;
+}
+\end{verbatim}
+}
+\end{itemize}