Mercurial > hg > Papers > 2022 > riono-master
changeset 45:4a1a9a0fe1ce
update introduction
author | riono <e165729@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 10 Feb 2022 10:16:06 +0900 (2022-02-10) |
parents | 050081af1296 |
children | 67306bcc605a |
files | Paper/chapter/0-introduction.tex Paper/chapter/4-WorkingInUnity.tex Paper/master_paper.pdf |
diffstat | 3 files changed, 4 insertions(+), 43 deletions(-) [+] |
line wrap: on
line diff
--- a/Paper/chapter/0-introduction.tex Thu Feb 10 10:02:06 2022 +0900 +++ b/Paper/chapter/0-introduction.tex Thu Feb 10 10:16:06 2022 +0900 @@ -12,38 +12,14 @@ 当研究室では、初代PlayStation向けに作成したFederated Lindaを拡張して、CodeGear/ DataGearを用いた分散フレームワークChristieを開発中である。 ChristieはJavaで記述されているため、既存のゲームエンジン上で直接動かすことはできない。 -そこでC\#で再実装することによりUnityの通信ライブラリとして使用できるようにする。 Christieは従来の通信ライブラリとは異なり、型のあるDataGearをタプル空間DataGearManager(以下DGM)にKeyをもつストリームとして格納する方式を取っている。 DGMはnode内部にlocalなDGMが用意されており、自身のnodeのThread間での通信に用いられている。 他のnodeのDGMとしてproxyを持っており、対応したproxyにデータを書き込むことでnode間の通信を行っている。 DGMの構成にはTopology Managerにより自動的に構成される。 - - - -%topo が分散のサポートする -%分散書くの難しい - - - - -\section{hogehoge} -\subsection{foofoo} +nodeは初めにTopology Managerが動作しているhostと通信し、自分が接続すべきnodeが知らされる。 +nodeは指示されたnodeに接続を行い、通信が行われる。 -\subsection{研究目的} -ほげほげほげ - - -\section{論文の構成} -fugafuga - -\begin{description} - \item[1章] - \item[2章] - \item[3章] - \item[4章] - \item[5章] - \item[6章] -\end{description} - +本研究ではChristieをC\#で再実装することによりUnityの通信ライブラリとして使用できるようにする。 +また、既存の通信ライブラリとの比較を行い、Christieのオンラインゲーム向けの通信ライブラリとしての考察を行う。
--- a/Paper/chapter/4-WorkingInUnity.tex Thu Feb 10 10:02:06 2022 +0900 +++ b/Paper/chapter/4-WorkingInUnity.tex Thu Feb 10 10:16:06 2022 +0900 @@ -118,10 +118,6 @@ 以上のテストにより、Chrisite Shrapの機能が問題なくUnity上でも機能することが確認できた。 \section{UnityでのChrisite Sharpの役割} -% GameObjectをDGにする -% GameObjectを継続にする -% 並列部分をChristieでやる -% 実装するには何が必要? どう言う考えが必要? UnityでCodeGearを動作させる場合、特にUnity APIを使用して処理を行う際は、MainThreadDispatcher.Postメソッドを利用してMain Threadに処理を以上する必要がある。 他方、UnityではUpdateメソッドやFixedUpdateメソッドなどUnityの実装に従って、フレーム単位や時間単位でのメソッド呼び出しが保証されている。 CG内でMainThreadDispatcher.Postメソッドを使用しGameObjectの移動などのUnity APIを利用した処理を行うことで、処理が行われるタイミングが不安定になることがあると考えられる。 @@ -137,14 +133,3 @@ また、待ち合わせを行っていることによりデータがNullのまま処理を開始することがなくなる。 位置などの毎フレーム必要なデータや、画面の描画に必要なデータはPeekで取得を行うことで、通信が途中で途切れてしまった場合でもその直前のデータは参照可能であり、 接続の復帰も行いやすいと考えられる。 - - - - - - - - - - -