Jump to content

Suggestions for improving multi-monitor capability


Recommended Posts

Hi all,

As a home cockpit builder, my favourite feature of Black Shark is its ability to draw the Shkval and ABRIS on different monitors. My sincere thanks go to the ED team for responding to community pleas to enable this extremely useful capability. However, as noted in other threads, there are a few problems which arise when using multi-monitors so I've come up with a few suggestions as to how they could be addressed:

 

Problem 1

The multi-page threads in this forum (and others) in which people have struggled to get to grips with the monitor setup files suggest the current format isn't very intuitive for many people. It also generally requires quite a bit of file editing by the user to get everything set up satisfactorily.

 

Suggestion 1a

Change the format of options.lua to allow the width and height of each screen to be defined individually. For example:

 

 
["screen_1_width"] = 1280,
["screen_1_height"] = 1024,
["screen_2_width"] = 1920,
["screen_2_height"] = 1080,
["screen_3_width"] = 1280,
["screen_3_height"] = 1024,

 

(The numbering of each screen should correspond to their numbering in the Windows Display Settings).

 

Suggestion 1b

Change the format of the monitor setup files by adding a line to each section which defines the screen on which that item is to appear. Screen.width and screen.height in that section should then refer to the appropriate definitions in options.lua for that individual screen (rather than the total size of all screens as they currently do). For example, if the options.lua was as above and the Shkval definition in the monitor setup file was like this:

 

 
Shkval =
{
    screen = 3;
    x = 0;
    y = screen.height * 0.195;
    width = screen.width * 0.5;
    height = screen.height * 0.5;
}

 

..then the Shkval would be drawn on screen 3 at position 0,200 with a width of 640 and a height of 512. This format is, imho, more intuitive and, more importantly, it also makes it much easier to write a monitor setup file which will work with any combination of screen resolutions. This would enable (a new set of) default setup files to work without requiring any editing by the user, thereby making the process of setting up multi-monitors much more straightforward.

 

Problem 2

The locations at which the comms menu, message box, no-cockpit view lamps and multiplayer GUI are drawn isn't definable, resulting in them being placed in inappropriate positions when multi-monitors are used.

 

Suggestion 2

Allow the locations of these items to be defined in a monitor setup file in the same way as the Shkval and ABRIS. For example:

 

 
MP_GUI =
{
    screen = 2;
    x = 0;
    y = 0;
    width = screen.width;
    height = screen.height;
}

 

(N.B. As in the previous example, screen.width and screen.height refer to the values for that individual screen, as defined in options.lua).

 

Problem 3

Although having the ability to draw the Shkval and ABRIS on other monitors is very useful indeed, there are several other vital systems which aren't currently displayable (or at least not without extensive knowledge of LUA).

 

Suggestion 3

Create additional modules for these systems and make their positions definable in the monitor setup file. For example, with a two monitor setup we might want the non-main screen to be laid out like this:

 

example_01.jpg

 

..which would look as follows when running:

 

example_02.jpg

 

..and be defined in a monitor setup file something like this:

 

 
Description = 'Cam, SP GUI & MP GUI on screen 2, everything else on screen 1'
Viewports =
{
    Center =
    {
         screen = 2;
         x = 0;
         y = 0;
         width = screen.width;
         height = screen.height;
         viewDx = 0;
         viewDy = 0;
         aspect = screen.aspect;
    }
}

SP_GUI =
{
    screen = 2;
    x = 0;
    y = 0;
    width = screen.width;
    height = screen.height;
}

MP_GUI =
{
    screen = 2;
    x = 0;
    y = 0;
    width = screen.width;
    height = screen.height;
}

LWR =
{
    screen = 1;
    x = 0;
    y = 0;
    width = screen.width * 0.084;
    height = screen.height * 0.153;
}

Master_caution =
{
    screen = 1;
    x = screen.width * 0.084;
    y = 0;
    width = screen.width * 0.041;
    height = screen.height * 0.153;
}

Caution_lamps =
{
    screen = 1;
    x = screen.width * 0.125;
    y = 0;
    width = screen.width * 0.178;
    height = screen.height * 0.153;
}

Warning_lamps =
{
    screen = 1;
    x = screen.width * 0.303;
    y = 0;
    width = screen.width * 0.255;
    height = screen.height * 0.153;
}

Message_lamps =
{
    screen = 1;
    x = screen.width * 0.558;
    y = 0;
    width = screen.width * 0.368;
    height = screen.height * 0.153;
}

Counter_measures =
{
    screen = 1;
    x = screen.width * 0.926;
    y = 0;
    width = screen.width * 0.074;
    height = screen.height * 0.153;
}

Shkval =
{
    screen = 1;
    x = 0;
    y = screen.height * 0.195;
    width = screen.width * 0.5;
    height = screen.height * 0.5;
}

ABRIS =
{
    screen = 1;
    x = screen.width * 0.5;
    y = screen.height * 0.156;
    width = screen.width * 0.5;
    height = screen.height * 0.8;
}

Comms_Menu =
{
    screen = 1;
    x = 0;
    y = screen.height * 0.681;
    width = screen.width * 0.191;
    height = screen.height * 0.245;
}

EKRAN =
{
    screen = 1;
    x = screen.width * 0.195;
    y = screen.height * 0.681;
    width = screen.width * 0.106;
    height = screen.height * 0.196;
}

Nav_display =
{
    screen = 1;
    x = screen.width * 0.305;
    y = screen.height * 0.681;
    width = screen.width * 0.195;
    height = screen.height * 0.122;
}

Weapons_display =
{
    screen = 1;
    x = screen.width * 0.305;
    y = screen.height * 0.803;
    width = screen.width * 0.195;
    height = screen.height * 0.122;
}

Message_box =
{
    screen = 1;
    x = 0;
    y = screen.height * 0.931;
    width = screen.width * 0.5;
    height = screen.height * 0.039;
}

 

(Other modules which would be particularly useful include the Autopilot panel and the Nav keypad).

 

Problem 4

Parts of the loading screen remain visible on monitors after a mission has loaded unless they're completely covered by the camera, Shkval or ABRIS.

 

Suggestion 4

Add a step during mission loading which draws a black background on each monitor or, even better, allow the user to specify a background image file to be used for each monitor.

 

Problem 5

Several panels (like the nav pad or ABRIS) are ideally suited for display on touch screens. Even for those without touch screens, it would be much easier to be able to operate these controls with a mouse on a secondary monitor than in the virtual cockpit.

 

Suggestion 5

Add modules which have clickable hotspots in the appropriate places for e.g. ABRIS buttons, Nav keypad buttons etc. These would enable something like the following to be displayed:

 

example_03.jpg

 

I'd be very interested to hear from any of the ED guys if any of these suggestions are technically feasible, or from anyone else who uses the multi-monitor feature if you'd find the proposed changes useful (or have any other suggestions of your own).

Many thanks,

DD


Edited by DickDastardly
  • Like 3
Link to comment
Share on other sites

I have Vista too and get satisfactory performance atm running the shkval and ABRIS on another screen (with a less than stellar rig). I'm not sure exactly what you meant by "the horizontal span has to be fixed before we can go beyond displaying ABRIS and shkval video".

 

If you're referring to the lack of a horizontal desktop span mode in Vista then I don't understand the problem -everything seems to work fine with Dual View mode.

 

If you're referring to the current necessity of defining extra width for a phantom third monitor then part of the reason for the suggested format changes in 1a/1b above is to remove that requirement (which will hopefully result in increased fps).

 

Any additional modules I've suggested would be entirely optional so if, for example, your rig can only cope with 1 camera + shkval then you could just omit the proposed new sections for EKRAN, LWR, Nav display etc from your monitor setup file.

Cheers,

DD

  • Like 1
Link to comment
Share on other sites

The span hes talking about is how you run multi monitor normall when you have the 2nd monitor on you stretch your desktop horizontally across the other monitor. Instead of using LUA to do it. I Tried the LUA script setup by blasksharkace and it worked but i lost some FPS and was too much. I was running in 1280x1024 i wanted to try and run it in 1024x768 but i couldnt get it working again and was hoping that would run it a little better.

Dell XPS 630i w/ Dell nForce 650i Sli ,Intel Q9650 @3.0 ,6.0 GB Ram @800Mhz, 2xGeforce 9800 GT 512 MB ,Saitek X52, Saitek Pro Rudder Pedals ,Dell 24" 1080P HD monitor, Klipsch THX Pro Media 2.1 ,TrackIR 4, Logitech MX518

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

100 % agree ... a good posting. Exactly what I think ...

And - IMHO this is NO "nonsense" because everybody is free to configure his system in for his needs and for his rig.

But tit would be good to HAVE the possibility to DO this ...

Link to comment
Share on other sites

I wish somebody comes up with a utility such as LOCFG to assist us who are less capable of messing with LUA files in setting up dual monitor thing.

Thermaltake Kandalf LCS | Gigabyte GA-X58A-UD3R | Etasis ET750 (850W Max) | i7-920 OC to 4.0 GHz | Gigabyte HD5850 | OCZ Gold 6GB DDR3 2000 | 2 X 30GB OCZ Vertex SSD in RAID 0 | ASUS VW266H 25.5" | LG Blue Ray 10X burner | TIR 5 | Saitek X-52 Pro | Logitech G930 | Saitek Pro flight rudder pedals | Windows 7 Home Premium 64 bit

Link to comment
Share on other sites

i love suggestion #5. another suggestion would be to allow snap views to be displayed on a 2nd monitor. then you could have a clickable ABRIS, PVI-800, countermeasures panel, etc on a touchscreen monitor like i have. it would sure beat touchbuddy.

Link to comment
Share on other sites

Excellent post and ideas. This must be stickied! I do have a question. Do you know if it is pssible to seperate the outside view (landscape,etc.) from the cockpit view? I am planning to build a full size cockpit, and, eventually would like to use projector(s) to display landscape, and use monitors to display inside cockpit instrumentation, abris, etc. I think 3 projectorswould be ideal for the outside 'view'. Also there is a posting titled "virtual window" in the Cockpit building section that is interesting. Any suggestions or ideas will be greatly appreciated. Thank you for this post showing some of the possibilities using multi-monitors. :thumbup: I have been waiting for someone to come up with the great ideas that you have, along with solutions on how they can be implemented. You are the man!! :worthy:

[sIGPIC][/sIGPIC] SOUP55:matrix:

Link to comment
Share on other sites

Great post,suggestions and solutions, very informative.

 

 

Spoiler:

MSI Z790 Carbon WIFI, i9 14900KF, 64GB DDR4, MSI RTX 4090, Thrustmaster Warthog Throttle, VKB Gunfighter Ultimate MCG Pro w/200mm Extension, Winwing Orion Rudder Pedals W/damper, UTC MK II Pro, Virpil TCS Plus Collective, Dell AW3418DW Gsync monitor, 970 Pro M2 1TB (for DCS), Playseat Air Force Seat, KW-980 Jetseat, Vaicom Pro, 3X TM Cougar with Lilliput 8" screens. Tek Creations panels and controllers.

 

Link to comment
Share on other sites

The multiple panel thing could be very very usefull for pit builders. Some may decide to replace some hardware with glass panels giving good results with less investment (both in time and money). Very interesting ideas - but even more important - very well presented.

Link to comment
Share on other sites

I have Vista too and get satisfactory performance atm running the shkval and ABRIS on another screen (with a less than stellar rig). I'm not sure exactly what you meant by "the horizontal span has to be fixed before we can go beyond displaying ABRIS and shkval video".

 

If you're referring to the lack of a horizontal desktop span mode in Vista then I don't understand the problem -everything seems to work fine with Dual View mode.

 

If you're referring to the current necessity of defining extra width for a phantom third monitor then part of the reason for the suggested format changes in 1a/1b above is to remove that requirement (which will hopefully result in increased fps).

 

Any additional modules I've suggested would be entirely optional so if, for example, your rig can only cope with 1 camera + shkval then you could just omit the proposed new sections for EKRAN, LWR, Nav display etc from your monitor setup file.

Cheers,

DD

 

 

And how is that working for you online in multiplayer games? Most of us play online and most of us want to play in full screen mode. I had not checked the multi monitor thread in a week or so, but the two issues I mentioned above are deal breakers on the MM setup until they get that resolved.

Link to comment
Share on other sites

I am still having problems with the options.lua, could you post or tell me where you inserted the following code at in the options, and did you have to delete anything when doing so:

 

["screen_1_width"] = 1280,

["screen_1_height"] = 1024,

["screen_2_width"] = 1920,

["screen_2_height"] = 1080,

["screen_3_width"] = 1280,

["screen_3_height"] = 1024,

 

Thanks for your help in advance

Link to comment
Share on other sites

I am still having problems with the options.lua, could you post or tell me where you inserted the following code at in the options, and did you have to delete anything when doing so:

 

["screen_1_width"] = 1280,

["screen_1_height"] = 1024,

["screen_2_width"] = 1920,

["screen_2_height"] = 1080,

["screen_3_width"] = 1280,

["screen_3_height"] = 1024,

 

Thanks for your help in advance

 

Ranger,

 

You have not read the original post properly. These are proposed changes to the current LUA configuration files. Nothing more.

 

--

Murphy

Link to comment
Share on other sites

@Acedy - The "Physical Cockpit Interface Package" certainly sounds interesting. Looking forward to seeing what it will contain.

 

@soup55 - The setup you describe is pretty similar to what I use (but I only have 1 projector). You can display a "No-cockpit" view by pressing LAlt+F1.

 

@AlphaInfinity - I haven't ventured online yet - I wouldn't want to inflict my dodgy flying on some unsuspecting wingman until I've had a bit more practice ;).

 

Cheers,

DD

 

P.S. I've been doing a bit more tinkering with my current setup and have managed to get the following displaying on my secondary monitor:

 

new_layout.jpg

 

(The Shkval and ABRIS are functional, the message box and no-cockpit-view lamps kinda work, and the weapons and Nav panels are just for decoration atm). If anyone else would like to try this two monitor setup, here's how to get it working:

 

1. Backup Eagle Dynamics\Ka-50\BlackShark\data\scripts\options.lua and Eagle Dynamics\Ka-50\FUI\Common\StartImage-2.bmp.

 

2. Download this file to a temporary directory and unzip it. You should see three folders: BlackShark, Config and FUI. Copy and paste them into your Eagle Dynamics\Ka-50 folder, overwriting the existing files (which you've just backed up in step 1).

 

3. In your graphics card control panel, set your monitors to Dual View mode and both their resolutions to 1024x768.

 

4. Check in Windows desktop properties that your main monitor is positioned immediately to the right of your other monitor (so that if you move your cursor off the left edge of your main monitor it appears on the right edge of your secondary monitor).

 

5. Fire up Black Shark and everything should be working once you unpause. N.B. My secondary monitor is actually 5:4 rather than 4:3. If your monitor has a different aspect ratio then the image may be slightly stretched. Also, I've only tested the setup in Vista and the English version of DCS so I can't promise it'll work in XP or the Russian version (though I think it will).

 

Cheers,

DD

Link to comment
Share on other sites

Just forked out for a reconditioned 8400GS to allow me to run 3 monitors from the same PC so I've made a new version of my config files to support this setup. My main monitor displays the outside view, second monitor shows a 1024x768 Shkval image and the third monitor displays this:

 

new_layout2.jpg

 

If you'd like to try this config then the process of setting it up is very similar to the one I described for my 2 monitor version ie:

 

1. Backup Eagle Dynamics\Ka-50\BlackShark\data\scripts\options.lua and Eagle Dynamics\Ka-50\FUI\Common\StartImage-2.bmp.

 

2. Download this file to a temporary directory and unzip it. You should see three folders: BlackShark, Config and FUI. Copy and paste them into your Eagle Dynamics\Ka-50 folder, overwriting the existing files (which you've just backed up in step 1).

 

3. In your graphics card control panel, set your monitors to Dual View mode and all their resolutions to 1024x768.

 

4. Check in Windows desktop properties that your monitors are arranged in a horizontal row with the ABRIS monitor on the left, main monitor in the center and Shkval monitor on the right.

 

5. Fire up Black Shark and everything should be working once you unpause. N.B. The monitor on which I display the ABRIS is actually 5:4 rather than 4:3. If your monitor has a different aspect ratio then the image will be slightly stretched.

 

Again, I've only tested this setup in Vista and the English version of DCS so I can't promise it'll work in XP or the Russian version (though I think it will).

 

Cheers,

DD

Link to comment
Share on other sites

I'd like to throw in another idea on improving dual monitor systems.

 

Have the interface screens (like the editor/GUI/multi-joining/loadout etc.) have their own dedicated LUA config section(s) so that you can restrict them to a single physical monitor in a multi-setup (this is neccessary for a fullscreen setup).

 

Also, have messages that should be overlayed on the main camera view overlayed on the main camera view rather than "on the top right of the total display" (again required for a fullscreen setup).

[sIGPIC][/sIGPIC]

Virtual Australian Air Force

Link to comment
Share on other sites

Holy Christ Dick,

You're giving a new definition to multimonitoring man.. Awesome thing you achieved here. Anyway in my opinion for a standard use (not talking about the solutions fort pitbuilders) this kills the 3d cockpit and therewith the immersion. It doesn't feel real I think.

 

Anyway I'll take a look at your files. Really nice work I have to say.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...