# HG changeset patch # User Kazuma # Date 1477067803 -32400 # Node ID 6b92d41038c4a6a7dbd415bdf1cec79d36b95b38 # Parent 87907fc91f6233734ac5e6efa27b35986515b87b Fix tex and add xbb and finish. diff -r 87907fc91f62 -r 6b92d41038c4 .DS_Store Binary file .DS_Store has changed diff -r 87907fc91f62 -r 6b92d41038c4 midterm.pdf Binary file midterm.pdf has changed diff -r 87907fc91f62 -r 6b92d41038c4 midterm.tex --- a/midterm.tex Sat Oct 22 00:42:58 2016 +0900 +++ b/midterm.tex Sat Oct 22 01:36:43 2016 +0900 @@ -55,16 +55,18 @@ 図\ref{fig:servertree}のようにサーバー側ではPlayerごとにTreeを持っている。 -\begin{figure}[h] -\includegraphics[width=2cm, bb=0 0 172 200]{pic/clientTree.pdf} +\begin{figure}[htpb] +\includegraphics[width=6cm]{pic/clientTree.pdf} +\centering \label{fig:clienttree} -\captation{クライアント側の木構造} +\caption{クライアント側の木構造} \end{figure} -\begin{figure}[h] -\includegraphics[width=2cm, bb=0 0 172 200]{pic/serverTree.pdf} +\begin{figure}[htpb] +\centering +\includegraphics[width=6cm]{pic/serverTree.pdf} \label{fig:servertree} -\captation{サーバー側の木構造} +\caption{サーバー側の木構造} \end{figure} Unityではデータの保存の際にSQlite3、PlayerPrefsといったDBがよく使われている。 @@ -89,17 +91,22 @@ JavaにはAtomicRefarenceが標準であるがC\#はなかったため、AtomicReferenceのClassを新たに作った。 \begin{itembox}[l]{AtomicReplace} +\scriptsize{ \begin{verbatim} // C# public bool CompareAndSet(T newValue, T prevValue) { T oldValue = value; return (oldValue - != Interlocked.CompareExchange (ref value, newValue, prevValue)); + != Interlocked.CompareExchange + (ref value, newValue, prevValue)); } // Java +AtomicRefarence atomic = new AtomicRefarence(); +atomic.compareAndSet(prevValue, newValue); \end{verbatim} +} \end{itembox} %\section{Listの実装} @@ -108,6 +115,7 @@ C\#では木やリストをたどりながらyeildで次の値を返す。 \begin{itembox}[l]{List.java} +\scriptsize{ \begin{verbatim} public Iterator iterator() { return new Iterator() { @@ -130,6 +138,7 @@ }; } \end{verbatim} +} \end{itembox} C\#にはIEnumeratorがあるのでそれを利用した。 @@ -137,6 +146,7 @@ yield returnステートメントを利用することで位置が保持され、次に呼ばれた際に続きから値の取り出しが可能になる。 \begin{itembox}[l]{List.cs} +\scriptsize{ \begin{verbatim} public IEnumerator iterator() { Node currentNode = head.getNext(); @@ -146,6 +156,7 @@ } } \end{verbatim} +} \end{itembox} \section{ベンチマーク} @@ -165,18 +176,20 @@ % \includegraphics[width=70mm]{pic/benchmark.pdf} %\end{figure} \begin{table}[htbp] + \centering \caption{速度測定} \label{table:data_type} \begin{tabular}{lcrr} \hline データベース & 速度(ms) \\ \hline \hline - Jungle & 100 \\ - Sqlite3 & 100 \\ - PlayerPrefs & 100 \\ + Jungle & 13 \\ + Sqlite3 & 15062 \\ + PlayerPrefs & 36 \\ \end{tabular} \end{table} -Jungleが早い理由として赤黒木を使っている、データを書き出さずメモリ上にデータを持っているからである。 -Sqlite3が遅い理由としてはデータをInsertする毎にDBを書き込みを行っているからである。 +Jungleが早い理由としてデータを書き出さずメモリ上にデータを持っているからである。 +これはゲームを終了するとデータが消される。 +Sqlite3が遅い理由としてはデータをInsertする毎にDBを書き込みを行っているため遅い。 PlayerPrefsはデータを書き出すが、データをセットしたのち一度だけまとめて書き出すため早い。 \section{これからの作業} @@ -190,10 +203,12 @@ \bibitem{1} 金川竜己 非破壊的木構造データベースJungleとその評価 -\end{thebibliography} \bibitem{2} -: {これで分かった赤黒木}, {http://www.moon.sannet.ne.jp/okahisa/rb-tree/} +これでわかった赤黒木 + +http://www.moon.sannet.ne.jp/okahisa/rb-tree/ + \end{thebibliography} diff -r 87907fc91f62 -r 6b92d41038c4 pic/clientTree.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/clientTree.bb Sat Oct 22 01:36:43 2016 +0900 @@ -0,0 +1,5 @@ +%%Title: ./clientTree.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 1155 783 +%%CreationDate: Sat Oct 22 00:51:27 2016 + diff -r 87907fc91f62 -r 6b92d41038c4 pic/clientTree.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/clientTree.xbb Sat Oct 22 01:36:43 2016 +0900 @@ -0,0 +1,8 @@ +%%Title: ./clientTree.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 1155 783 +%%HiResBoundingBox: 0.000000 0.000000 1155.000000 783.000000 +%%PDFVersion: 1.4 +%%Pages: 1 +%%CreationDate: Sat Oct 22 00:53:07 2016 + diff -r 87907fc91f62 -r 6b92d41038c4 pic/serverTree.bb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/serverTree.bb Sat Oct 22 01:36:43 2016 +0900 @@ -0,0 +1,5 @@ +%%Title: ./serverTree.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 1155 783 +%%CreationDate: Sat Oct 22 00:51:27 2016 + diff -r 87907fc91f62 -r 6b92d41038c4 pic/serverTree.xbb --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pic/serverTree.xbb Sat Oct 22 01:36:43 2016 +0900 @@ -0,0 +1,8 @@ +%%Title: ./serverTree.pdf +%%Creator: extractbb 20140317 +%%BoundingBox: 0 0 1155 783 +%%HiResBoundingBox: 0.000000 0.000000 1155.000000 783.000000 +%%PDFVersion: 1.4 +%%Pages: 1 +%%CreationDate: Sat Oct 22 00:53:07 2016 +