3GO模拟飞行网|3GO Cyber Air Force

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 11854|回复: 49

调DCS的多屏设置方法有些晕

[复制链接]
发表于 2009-5-24 14:21:51 | 显示全部楼层 |阅读模式
看了 smokyrain 的双屏帖子,自己也拿两个 1680×1050(主显在左,副显在右) 的显示器试了一下。发现过程似乎很繁琐。

BS里的2屏、3屏模式都是适用于TripleHead2Go的。也就是要把多个物理显示器识别为单个逻辑显示器。如果要用双逻辑显示器扩展桌面的形式去做双屏界面,会有一系列问题,这在DCS论坛上有讨论,我看了一种大致的思路:

首先要让DCS运行在窗口模式下。全屏模式不会工作,原因也很简单——Windows只支持在每个逻辑显示器上进行独立的全屏显示。

..\BlackShark\data\scripts\options.lua 文件里面有设置信息。以下是与显示设置相关的代码段:
 

["graphics"] =
    {
        ["multiMonitorSetup"] = "1Camera",
        ["color"] = "32",
        ["heatBlr"] = 1,
        ["scenes"] = "high",
        ["water"] = 3,
        ["fullScreen"] = false,
        ["visibRange"] = "High",
        ["aspect"] = 1.6,
        ["textures"] = 2,
        ["shadows"] = 2,
        ["display_mode"] =
        {
            ["avi"] =
            {
                ["bpp"] = 32,
                ["resolution"] = "640x480",
                ["full_screen"] = false,
                ["aspect"] = 1.333333333,
                ["height"] = 480,
                ["width"] = 640,
            }, -- end of ["avi"]
        }, -- end of ["display_mode"]
        ["effects"] = 3,
        ["lights"] = 2,
        ["haze"] = 1,
        ["terrPrld"] = "20",
        ["height"] = 1050,
        ["resolution"] = "1680x1050",
        ["civTraffic"] = 1,
        ["width"] = 1680,
    }, -- end of ["graphics"]


其中“1Camera”对应的是 ..\Config\MonitorSetup\ 目录下的 1Camera.lua 档案文件。在GUI里对应的就是 Monitors 那项。

我新建了一个文件,命名为 CameraAndShkval.lua ,把座舱放在左边,Shkval放在右边,跟原始文件 Shkval+Camera.lua 里的布局刚好相反。新文件内容如下:

Description = 'Camera on the left, Shkval on the right'
Viewports =
{
     Center =
     {
          x = 1680/2;
          y = 0;
          width = 1680;
          height = 1050;
          viewDx = 0;
          viewDy = 0;
          aspect = 1.6;
     }
}

Shkval =
{
     x = 1680+840;
     y = 0;
     width = 1680;
     height = 1050;
}


里面的坐标参数都是自己试出来的。我不知道 Viewports = 下面的内容定义的是主画面的位置还是整个显示区域的位置。Center = 下面应该是这个区域的X中点。Shkval = 下面当然是Shkval画面的位置了。应该也是以中点 x 坐标定义的。

建立了这个文件之后,options.lua 里要做对应修改:
....
        ["multiMonitorSetup"] = "CameraAndShkval",
....
        ["aspect"] = 3.2,
....
        ["height"] = 1050,
        ["resolution"] = "3360x1050",
        ["civTraffic"] = 1,
        ["width"] =
3360,

我在调试宽度的时候多次出现过程序非法操作被关闭的错误。上面这个是可以运行的设置,但显示内容仍然不对。

整个窗口是以第一个显示器的 X 坐标中点为中点,也就是说3360的窗口,左边有宽840的区域跑到了左边的显示器窗口左侧,看不到了。右边有宽度840的画面落在副显的区域,可以正常显示。结合上面的 CameraAndShkval.lua 设置,我可以做到主窗口正常显示座舱画面,而 Shkval 画面右半部分是在窗口右侧边缘以外的。

我看DCS上的帖子也提到了画面参照主显居中的事情。他的建议是增加X窗口尺寸。我试了下把与 ["width"] 相关的值都改为4200,比例改为4/1,再运行就又出现非法操作的错误。待会儿我试试修改一下 CameraAndShkval.lua 里 Viewport 那几个 x 值看看。还希望 smokyrain 指点一二。

评分

1

查看全部评分

发表于 2009-5-24 17:41:29 | 显示全部楼层
  黑窑劳工党表示要先收藏起来,再慢慢看……
发表于 2009-5-25 08:15:18 | 显示全部楼层
你所说的方法主要针对多显示器桌面无法扩展的情况下,但其输出方式其实受限较多,主要是一个窗口横跨两个显示器的定位问题。但并不是一定需要TripleHead2Go。使用显卡驱动程序同样可以实现,实际上要设置这个效果并不难,当然前提是你必须有两个以上的显示器,并且显卡支持多路输出。

(以下内容我原先发布在Insky上,现在转过来)

1. 把两个显示器接到显卡上,双头DVI的现在很常见了。
2. 在显卡设置里面扩展桌面。我用的是催化剂9.5的CCC,N卡应该也差不多。看图说话:
在显示管理器-显示属性当中:

  
在你的副显示器上点击鼠标右键,出现的菜单里面选择“水平扩展显示器1的桌面”(英文版大概翻译过来的意思如此)

注意要把两个显示器的分辨率调整成为一样的。图上为了上网没有调整,事实上我在玩的时候两个的分辨率都是1680x1050,尽管小的15寸显示器此时看起来比较的别扭。

3. 设置好了之后,你现在就可以看到整个桌面被扩展开,两个显示器分别显示整个桌面的左右半部分。现在屏幕底部的任务条应该贯穿两个显示器,而并不是如单纯扩展桌面般只在第一个显示器上。如果任务条仍然只在一个显示器上,那说明不成功,就得用窗口化“手工横贯”的方法了。

4. 再看图说话:

  
用交换显示的方式把主显示器调整到小的显示器上。为什么?因为DCS当中多显示器应用中,Tv显示只能在主显示器上。一般情况下我没有修改DCS的显示配置文件,主要是修改图像设置之后这个内容还得再改。以后使用TouchBuddy做触摸屏可能会再修改一下。
调整完毕之后小显示器成为主显示器了,如果是按照我摆放的位置,你会发现操作起来有点别扭,桌面上的图标全跑小显示器上去了……

5. 启动DCS,点击Options进入设置界面。在Monitor那里选择Shkival+Camera,分辨率那里选择3360x1050(就是平时你玩的时候分辨率的横向两倍大小),Aspect那里手动改成3.333334(16:10宽屏是1.666667,乘个2,相对于32:10)。点击OK保存。

6. 进入游戏爽吧

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

发表于 2009-5-25 08:37:49 | 显示全部楼层
太好了!回去我也弄一套,看TV老是变焦变来变去的,麻烦!  

另外问一句,双显卡〔都是双头的,不交火不桥接的不同型号的显卡〕可以实现Abris+Camera+TV的显示方法吗?
发表于 2009-5-25 08:49:37 | 显示全部楼层
原帖由 zhangpengs 于 2009-5-25 08:37 发表
太好了!回去我也弄一套,看TV老是变焦变来变去的,麻烦!  

另外问一句,双显卡〔都是双头的,不交火不桥接的不同型号的显卡〕可以实现Abris+Camera+TV的显示方法吗?


没条件试验,不过只要是同一型号的芯片(A或N的),在例如CCC之类的控制面板当中可以同时识别出显示器的,都可以用我的方法试试。我觉得成功概率很大。

另外,利用修改lua的方法也可以实现在同一个副屏上同时输出Abris和Shkival的方法,TB的一个DCS著名Skin就是这么干的。不过目前我还不觉得有这个必要,毕竟Tv瞄准才是最大的需求。以后改装触摸屏再说吧。

[ 本帖最后由 smokyrain 于 2009-5-25 09:56 编辑 ]

评分

1

查看全部评分

发表于 2009-5-25 12:24:49 | 显示全部楼层
收藏了,高考后也弄
发表于 2009-5-25 12:31:49 | 显示全部楼层
起来围观,反正劳工党整不起这个
 楼主| 发表于 2009-5-25 16:16:27 | 显示全部楼层
原帖由 Mickey 于 2009-5-25 12:24 发表
收藏了,高考后也弄


353好好调整小宇宙。
发表于 2009-5-25 16:19:22 | 显示全部楼层
收藏了,入新显示器后再搞
发表于 2009-5-25 16:30:08 | 显示全部楼层
补充说明一点:
DCS默认将Shikval设置在主显示器,将座舱设置在副显示器的设计,我认为是有一定原因的。大部分人用双显示器玩DCS,都是一大一小两个配置。本身就游戏显示来说,当然是座舱在大显示器上更加方便,不过如果你按‘\’调出通讯命令菜单,就会发现菜单始终显示在最右边的桌面右上角,而应答部分则显示在最左边桌面的左上角(最左表示主显示器,最右表示最后一个副显示器)。因此如果将座舱修改显示在主显示器上,而且副显示器是小的那一个,就会出现调出通讯命令菜单后看不清楚选项的情况。
 楼主| 发表于 2009-5-25 16:45:05 | 显示全部楼层

回复 3# smokyrain 的帖子

谢谢解释。在描述我这边的情况之前先问一句:两个实际分辨率不同的显示器怎么使用水平跨越模式?应该不能同时设置为各自的最大分辨率吧?

我在Vista下装的DCS,可是发现nVidia有两个东东搞得很诡异:

nVidia控制面板在Vista下不支持水平跨越,没法使用识别为单个显示器——而XP下可以。(这个是nVidia控制面板帮助文档里面明示了的)
XP下要把“设置多个显示器”这个项目激活,必须在设置多GPU和PhysX项目中选择“不使用多GPU模式”,这样GTX295的内部SLI也被牵连了——而Vista下多GPU或单GPU都可以。(这个是显卡客服在电话上告诉我的)

上述第一点,有图有真相
Windows Vista X64


Windos XP SP3 x86

可见控制面板借助显卡驱动程序成功地瞒天过海让Windows以为只有一个超宽显示器。至于另外两个显示器是什么,我估计是所谓的phantom monitor现象。

因此我要在Vista下玩,就必须使用多显示器的模式了。除非等我再买第二块显卡,把第三个2209WA显示器接上,然后用SoftTH软件把三个显示器识别为一个5040*1050的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2009-5-25 17:00:01 | 显示全部楼层
原帖由 zhangpengs 于 2009-5-25 08:37 发表
太好了!回去我也弄一套,看TV老是变焦变来变去的,麻烦!  

另外问一句,双显卡〔都是双头的,不交火不桥接的不同型号的显卡〕可以实现Abris+Camera+TV的显示方法吗?


Abris+Camera+TV 应该是三屏的了。只要主板和系统能支持A卡N卡混用,三个屏进系统后都能各自点亮,就可以使用SoftTH去把他们认作同一个屏来简单实现Abris+Camera+TV。我的旧主板就支持A卡N卡混插,以前发过帖子,用EAX1600XT和8600GT插到A8N32-SLI Deluxe上面,拿三个头接三块2209WA,然后用SoftTH去玩Crysis。亦是有图有真相:


具体参考这帖: http://bbs.3gofly.com/bbs/thread-178228-1-1.html

当然如果lua支持得比较好,也可以试试用lua实现。

lua有一个不可替代的特性,无论Catalyst Control Center / nVidia  Control Panel,还是Matrox DualHeat2Go / TripleHead2Go,亦或SoftTH 都无法替代,那就是不同分辨率显示器混用。这个在DCS论坛上有人已经发帖讨论过了。涉及到phantom monitor fix,显示器位置布局、图象总体尺寸及中点位置计算等等一些加减法的东西。等我有空试一试。

我现在就是想弄块GTX260+去做第二块显卡。不想买TH2G,那东西唯一吸引我的特点就是省电。最让我讨厌的地方是无法单屏旋转。这对于一个经常写代码的人来说是无法容忍的。

[ 本帖最后由 RCtech 于 2009-5-25 17:01 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2009-5-25 17:07:45 | 显示全部楼层
羡慕加嫉妒
发表于 2009-5-25 17:22:15 | 显示全部楼层
两个不同分辨率的屏幕进行扩展我还没有试验过,但应该是不能进行真正的水平扩展,只能如FS或是X-Plane那样多窗口输出(X-Plane的多窗口仍然是以主显示器分辨率为准)。因为DCS里面要选择超宽的分辨率才有真正意义,如果你的桌面没有水平扩展到两个显示器上那么分辨率当中是不会出现3360x1050这样的特殊分辨率的。事实上我的15寸显示器的标准分辨率是1024x768,是在CCC里面强制设置为了1680x1050。

至于Lua扩展我也研究过,能修改Shikval的输出位置和大小是肯定的(TB已经证明了这一点),不过在lua里面修改究竟能否强制DCS在主副显示器上分辨率不同、且未实现真正水平扩展的情况下实现1680+1024这样的分辨率输出我还不得而知,因为TB的那个Skin当中是将两个显示器都强制设置为1024x768分辨率。不过,只在一个显示器上同时将座舱、Shikval和Abris显示出来却是有可能的,这样在飞行的时候倒也不必频繁低头看Tv了。

[ 本帖最后由 smokyrain 于 2009-5-25 17:26 编辑 ]
 楼主| 发表于 2009-5-25 18:02:46 | 显示全部楼层
原帖由 smokyrain 于 2009-5-25 17:22 发表
两个不同分辨率的屏幕进行扩展我还没有试验过,但应该是不能进行真正的水平扩展,只能如FS或是X-Plane那样多窗口输出(X-Plane的多窗口仍然是以主显示器分辨率为准)。因为DCS里面要选择超宽的分辨率才有真正意义,如 ...


我刚才在XP下试了试,在NV控制面板里先把第二显示器设置成较低的分辨率。然后打开水平跨越功能,立即刷回同样的分辨率了。如果两个显示器本身规格就不一样,我也不太清楚会发生什么。可能会把大的降到和小的相同吧。现在我也懒得去搬旧显示器出来试了。我的第四块显示器是旧的VX724,1280*1024分辨率的。

lua扩展在DCS使用窗口模式时肯定可以实现主副显示器不同分辨率的显示。我在DCS论坛上看到的。照我的理解大致是这个意思:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|3GO模拟飞行网|3GO Cyber Air Force ( 沪ICP备08002287号|沪ICP备14050587号 )

GMT+8, 2024-5-17 12:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表