Mercurial > hg > Papers > 2015 > oc-thesis
diff paper/chapter4.tex @ 34:97acef4f6207 default tip
update presentation and paper
author | oc |
---|---|
date | Thu, 19 Feb 2015 18:45:51 +0900 |
parents | c5af1e0a283a |
children |
line wrap: on
line diff
--- a/paper/chapter4.tex Thu Feb 19 02:43:10 2015 +0900 +++ b/paper/chapter4.tex Thu Feb 19 18:45:51 2015 +0900 @@ -90,7 +90,7 @@ % initDataとはなんなのか root はメッセージを受け取り initData を変更する。 initData は、RFB プロトコルで行われる通信中に VNCServer が送信するServerInit message から生成される。 -画像データが送られてくる前段階で、これから送信されるデータの情報を取得し、描画の準備をする。 +画像データが送られてくる前の段階で、これから送信されるデータの情報を取得し、描画の準備をする。 ServerInit messageに含まれているデータは、 配信先の画面サイズ、pixel format、配信先のPCの名前である。 @@ -111,7 +111,7 @@ \section{Retina のマルチディスプレイ対応} -Retina ディスプレイでシングルディスプレイを配信しようとした場合、 +Retina ディスプレイのPCで、シングルディスプレイをのみを配信しようとした場合に、 originalInitDataが正しく生成されない問題が発生した。 Retina ディスプレイ等の高解像度ディスプレイには、 @@ -119,21 +119,25 @@ HiDPI モードの場合、 PC で設定する解像度に対して縦横2倍の画像データを表示している。 -今までのシングルディスプレイサイズの取得方法では正しいサイズを取得できないことが原因となっていた。 -シングルディスプレイサイズとしてPCで設定している解像度のサイズを取得していた。 -しかし、HiDPIモードの場合、VNCServer から送信される画像データサイズは、 -解像度の2倍のサイズになっており、ズレが生じたためである。 +これまで、PCで設定している解像度のサイズをディスプレイサイズとして取得していた。 +しかしHiDPIモードの場合、VNCServer から送信される画像データサイズは、 +設定している解像度の2倍のサイズになっており、取得してきたサイズとのズレが生じた。 + +このように、今までのシングルディスプレイサイズの取得方法では、 +Retinaディスプレイのシングルサイズを正しく取得できていない。 問題を解決するために、HiDPI モードであるかどうかを検知する必要がある。 以下に、HiDPI モードの取得方法を記述する。 +\newpage + \begin{itemize} \item VNCServer から送信される width は図\ref{fig:singledisplaywidth}の VNCServer Single width である \item VncServer Single width から、図\ref{fig:singledisplaywidth}の 2nd Single width を引く \item 余りのサイズが取得してきた図\ref{fig:singledisplaywidth} Single width の2倍であれば、HiDPI モードである \end{itemize} -HiDPI モードの場合、originaiInitData を取得してきたシングルディスプレイの2倍サイズで生成する。 +HiDPI モードであった場合、取得してきたシングルディスプレイの2倍サイズでoriginaiInitData を生成する。 この方法を用いて、HiDPI モードでもマルチディスプレイ対応ができた。 \begin{figure}[htpd]