「Windowsにおける仮想的ディスプレイ」の版間の差分

Notion-MW
 
Notion-MW
 
(同じ利用者による、間の3版が非表示)
19行目: 19行目:
だが、それでもやはりちょっと素性が知れない。もう少し調べていくと、Indirect Display Driver (IDD)という技術を使うとそういうソフトウェアが書けるというMicrosoftのドキュメントが出てきた。そこからさらに調べてみるとこんなものがあった。
だが、それでもやはりちょっと素性が知れない。もう少し調べていくと、Indirect Display Driver (IDD)という技術を使うとそういうソフトウェアが書けるというMicrosoftのドキュメントが出てきた。そこからさらに調べてみるとこんなものがあった。


[https://github.com/roshkins/IddSampleDriver link_preview]
[https://github.com/roshkins/IddSampleDriver https://github.com/roshkins/IddSampleDriver]


これを試したら無事動いたので、ついでに解像度を変えてみたら、普通に8Kくらいまで動いた(ただしその分重くなる)。↑のレポジトリでも解像度増やしてというissueがあったので、forkして公開した。さらにver0.0.1.2では"C:\IddSampleDriver\option.txt”というファイルを設定することで解像度オプションやディスプレイの個数をユーザーが設定できるように変更した。
これを試したら無事動いたので、ついでに解像度を変えてみたら、普通に8Kくらいまで動いた(ただしその分重くなる)。↑のレポジトリでも解像度増やしてというissueがあったので、forkして公開した。さらにver0.0.1.2では"C:\IddSampleDriver\option.txt”というファイルを設定することで解像度オプションやディスプレイの個数をユーザーが設定できるように変更した。


[https://github.com/ge9/IddSampleDriver link_preview]
[https://github.com/ge9/IddSampleDriver https://github.com/ge9/IddSampleDriver]


本家のreadmeで紹介された結果、どうやらゲーム配信関係のRedditとかに載ったみたいで、実質的にはほぼ何もしていないのに400以上のstarを獲得している。
本家のreadmeで紹介された結果、どうやらゲーム配信関係のRedditとかに載ったみたいで、実質的にはほぼ何もしていないのに800以上のstarを獲得している。
 
また、さらにこれをforkしたものとして[https://github.com/VirtualDrivers/Virtual-Display-Driver https://github.com/VirtualDrivers/Virtual-Display-Driver]が作られ、これはすでに5000starを超える大きなプロジェクトになっている。


以下、このソフトの話を主にしていく。
以下、このソフトの話を主にしていく。
113行目: 115行目:
まず s_KnownMonitorModes のところ。この際リフレッシュレートが60HzになるようにPixel Clock Rateをちゃんと計算する必要がある。
まず s_KnownMonitorModes のところ。この際リフレッシュレートが60HzになるようにPixel Clock Rateをちゃんと計算する必要がある。


<pre class="dummy_str_c++">{
<syntaxhighlight lang="c++">{
       229008 * KHZ,                                      // pixel clock rate [Hz]
       229008 * KHZ,                                      // pixel clock rate [Hz]
     { 229008 * KHZ, 2560 + 40 },                        // fractional horizontal refresh rate [Hz]
     { 229008 * KHZ, 2560 + 40 },                        // fractional horizontal refresh rate [Hz]
130行目: 132行目:
     { { 255, 0 }},                                  // video standard and vsync divider
     { { 255, 0 }},                                  // video standard and vsync divider
     DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE
     DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE
},</pre>
},</syntaxhighlight>
のようにする。Pixel Clock Rateの数値は多少のズレがあってもいいみたい?だけど気分的に少しだけ大きめに設定してある。
のようにする。Pixel Clock Rateの数値は多少のズレがあってもいいみたい?だけど気分的に少しだけ大きめに設定してある。