Jump to content

The advisability of multi-monitor support. (Split from an unrelated thread.)


Recommended Posts

It's  always struck me as odd that games seem to throw away 30+ years of usage, research and development in windowing systems.  For example, look at the ClickThroughBlocker mod I wrote to do what the game didn't do.

I've always felt that a game should take advantage of available resources.  If they did do that, this discussion would never have happened since both the game and mods would simply open a regular window which could be positioned on any available screen.

Unity can already access multiple displays, up to a maximum of 8, see this for info: https://docs.unity3d.com/Manual/MultiDisplay.html

but, it's not the same as true windows.  Also, it has limitations, for example they can only be initialized once, and you can't close them individually.

 

Link to comment
Share on other sites

5 hours ago, Master39 said:

I'm too lazy to search one of those very common screenshots people take with KER, MJ, KOS and other 20 windows crowding the screen, but I'm sure you're familiar with the idea and that's not some concept for the next decade, it's the common situation with KSP in the last one.

You mean like this....

mj2.1_release.png

Link to comment
Share on other sites

On 7/14/2020 at 11:51 AM, swjr-swis said:

I politely question whether performance is really that much of an issue in this matter. I base this solely on the fact that I can, and regularly do, run up to three (3) separate, full instances of KSP right beside each other, where I let them use different monitors. In some cases I've done this on a single monitor, on the laptop, alt-tabbing from one to the next and back. With the exception of moments where even a single instance starts displaying frame-drop or stuttering in the display, it runs perfectly fluid (like when loading craft with exceptionally high number of parts, or large number of undocked ports, etc... the known performance killers.

These rigs were not gaming beasts even when they were newly bought- I've never liked wasting money on overpriced 'top of the line' stuff, when less can do 90% as good. One is even a laptop (!), and both of them are over 3 years old. Which leads me to conclude that whatever the overhead may be of running just one extra window separate of the main view can hardly have any performance impact at all, if I can run three entire instances side by side.

Granted, I run without mods. Still, three instances, compared to a single instance with one extra window showing the map view. What are we really talking about.

I'd actually expect that to perform reasonably well; each instance of KSP is allocated it's own space in the system's memory, using it's own threads and essentially sandboxed. So your only limits would be CPU/RAM, and eventually GPU since even though KSP doesn't hit the GPU too hard it would eventually add up over multiple instances.

The issue is that wouldn't be the case for a "Map view" people keep asking for; you would need to build the functions to call KSP and fetch the required information, and some of that may incur additional overhead. And you'd need to synchronize some things between the main session and the view, which is more overhead. And that's before we get into the fact that now we're not running these in their own sandboxes, and thus they can cause unexpected bugs if not handled carefully.

Ideally you'd get the best of both worlds and perhaps virtualize the map view, so you could have somewhat of a sandbox. But from the perspective of development; i could see how trying to do this could lead to a solution with less than desirable performance at least in the beginning.

And that's just for what's essentially a fancy window to view a somewhat static UI element (It would be updated ofc when things changed, but the majority of it would be the same). There's been a massive number of requests to allow multiple windows so people could control multiple craft at once, give them different inputs, and have them reflected on screen. And that's just asking for trouble at that point.

It's not impossible, and im sure it could be done. But i just can't see them putting in the time and resources to make it work, and getting something worthwhile out the other end.

Link to comment
Share on other sites

10 hours ago, mattinoz said:

You mean like this....

mj2.1_release.png

Is that the Space Core? I find it appropriate in a discussion about space on the screen in a space game.

Link to comment
Share on other sites

1 hour ago, Master39 said:

Is that the Space Core? I find it appropriate in a discussion about space on the screen in a space game.

MechJeb in full auto pilot mode all windows open. Not that you use it that way. But that is the image that is the banner for the mod page. I always find it assuming that people would inflict that much interface on themselves to avoid learning to fly.  

15 hours ago, linuxgurugamer said:

It's  always struck me as odd that games seem to throw away 30+ years of usage, research and development in windowing systems.  For example, look at the ClickThroughBlocker mod I wrote to do what the game didn't do.

I've always felt that a game should take advantage of available resources.  If they did do that, this discussion would never have happened since both the game and mods would simply open a regular window which could be positioned on any available screen.

Unity can already access multiple displays, up to a maximum of 8, see this for info: https://docs.unity3d.com/Manual/MultiDisplay.html

but, it's not the same as true windows.  Also, it has limitations, for example they can only be initialized once, and you can't close them individually.

 

So basically games api are horrible and the easiest way to do multiple monitors will be to run numerous instances of the game and multiplayer with yourself. 

Link to comment
Share on other sites

3 minutes ago, mattinoz said:

MechJeb in full auto pilot mode all windows open. Not that you use it that way. But that is the image that is the banner for the mod page. I always find it assuming that people would inflict that much interface on themselves to avoid learning to fly.  

So basically games api are horrible and the easiest way to do multiple monitors will be to run numerous instances of the game and multiplayer with yourself. 

I fail to see how you reached that conclusion.

I was making an observation about games and game UI in general.  How did you translate that into "games api"?  And where did you get "horrible" from?

In general, games have amazing interfaces.  Each game essentially has it's own UI, etc, and in many cases, does a great job.  

2 hours ago, Master39 said:

Is that the Space Core? I find it appropriate in a discussion about space on the screen in a space game.

No, that's the large MechJeb module

Link to comment
Share on other sites

17 minutes ago, SpaceFace545 said:

What is the point of the large mechjeb module exactly

 

It's a probe core with MJ, if you don't use the patch MJ for all. Outside of that, IDK, I don't use it, I find it creepy.

Link to comment
Share on other sites

7 hours ago, Incarnation of Chaos said:

The issue is that wouldn't be the case for a "Map view" people keep asking for; you would need to build the functions to call KSP and fetch the required information, and some of that may incur additional overhead. And you'd need to synchronize some things between the main session and the view, which is more overhead.

Depends upon how they're doing whole thing. It may even depend upon how they're implementing multi-player.

They could run a physics engine in its own thread chewing CPU cycles, effectively a server. Next to that in another thread would be the graphics which takes data from the physics and displays it on screen and gets input from keyboard/mouse/controller and sends that data to the server thread. Doing so should give more consistent, and possibly higher, frame rates.

And this is why I say it may depend upon how they implement multi-player because multi-player is going to need a server. World of Warships runs like this as the game is actually played on the companies servers and only the graphics are displayed on the local machine.

A server model, which already has built in messaging as you describe, is hypothetically easy to give multiple windows that can be spread across multiple monitors.

Now, the reason why I bring this up like this is because over here the lead developer says:

Quote

For the original Kerbal Space Program and this game, rigid body physics calculation is a CPU intensive process and traditionally the higher your part count, the worse your frame rate. So we put a lot of thought in to optimising the way that we’re calculating rigid body physics, working with ideas like basically a LOD system for those physics calculations.

Obviously there will also be some part count threshold beyond which you will start to see impacts to the frame rate, because we’re not going to give you a hard limit. It ultimately comes down to how fast your computer is and how far you’re willing to push it. But we want you to be able to build the things that you’ve seen in the trailer for example, without a noticeable frame rate hit.

Which, to me, implies that they've split the two. Especially when I consider that in KSP1 my GPU, when in close, is running full out while my CPU is barely ticking over. Seems to me that there's a lot of space on the CPU for running the physics simulation and having it much better without having it limited to how often the frames are updated on the monitor.

Link to comment
Share on other sites

5 hours ago, Draco T stand-up guy said:

Depends upon how they're doing whole thing. It may even depend upon how they're implementing multi-player.

They could run a physics engine in its own thread chewing CPU cycles, effectively a server. Next to that in another thread would be the graphics which takes data from the physics and displays it on screen and gets input from keyboard/mouse/controller and sends that data to the server thread. Doing so should give more consistent, and possibly higher, frame rates.

And this is why I say it may depend upon how they implement multi-player because multi-player is going to need a server. World of Warships runs like this as the game is actually played on the companies servers and only the graphics are displayed on the local machine.

A server model, which already has built in messaging as you describe, is hypothetically easy to give multiple windows that can be spread across multiple monitors.

Now, the reason why I bring this up like this is because over here the lead developer says:

Which, to me, implies that they've split the two. Especially when I consider that in KSP1 my GPU, when in close, is running full out while my CPU is barely ticking over. Seems to me that there's a lot of space on the CPU for running the physics simulation and having it much better without having it limited to how often the frames are updated on the monitor.

That's actually something i hadn't even considered; if they built a robust system for their multiplayer servers then they could easily reuse significant portions of it for any potential multi-window support.

Link to comment
Share on other sites

Just now, mcwaffles2003 said:
On 7/16/2020 at 4:45 PM, Bej Kerman said:
This isn't a real space agency, this is a game. 

A game mimicking a space agency...

Regardless, you don't need 100 people and giant monitors to control KSP, despite that being the case for a real agency.

Link to comment
Share on other sites

Just now, Bej Kerman said:

Regardless, you don't need 100 people and giant monitors to control KSP, despite that being the case for a real agency.

Are you really bringing up "necessity" when talking about a game? See how this kind of argument could get very hyperbolic very quickly?

Also, I'm personally sick of data clutter getting in the way of me flying and would like to have the option of a screen for data along side a screen for flying and seeing the beauty of my ship in space. Heck, I would even buy a cheap monitor to use that kind of feature.

Link to comment
Share on other sites

10 minutes ago, Bej Kerman said:

Then everyone else has to suffer performance drops and storage usage increase.

Oh no, are you suggesting the game might take up an extra... ~100 MB of hard drive space? *gasp* If it was 2003 I might be concerned but a 1 TB NVME drive is $100 so I don't care about that and in fact believe caring about it is silly/borderline trolling.

As for "performance drops", really? If you aren't using it you wouldn't be affected as another window wouldn't load and take up RAM/VRAM space. MAYBE you'd have the slightest increase in load times at startup, but in a game where most of us already have to wait 5 minutes for a heavily modded install to boot I don't think 1/2 second matters.

Also, if that isn't the case... I flat out still don't care, upgrade your computer or don't play if it's that bad, its not 2010 anymore and I have no interest in holding a game back for the people who won't catch up to game requirements.

Edited by mcwaffles2003
Link to comment
Share on other sites

1 minute ago, mcwaffles2003 said:

Oh no, are you suggesting the game might take up an extra... ~100 MB of hard drive space? *gasp* If it was 2003 I might be concerned but a 1 TB NVME drive is $100 so I don't care about that and in fact believe caring about it is silly/borderline trolling.

As for "performance drops" really? If you aren't using it you wouldn't be affected as another window wouldn't load and take up RAM/VRAM space. MAYBE you'd have the slightest increase in load times at startup, but in a game where most of us already have to wait 5 minutes for a heavily modded install to boot I dont thing 1/2 second matters.

Also, if that isn't the case... I flat out still don't care, upgrade your computer or don't play if it's that bad, its not 2010 anymore and I have no interest in holding a game back for the people who won't catch up to game requirements.

And mind you; the way KSP loads is a massive part of the issue there. i wouldn't be surprised if a heavily modded KSP2 is much faster on the draw all things considered.

Link to comment
Share on other sites

My guess here would be that 'if' multi monitor support is to be included as an option then the decision to do so was very likely made in the early stages of the design process.  Therefore it would be 'built in' as efficently as possible, as is the case with multiplayer.  It is not a new suggestion, it has been mentiond several times over the years for KSP1 so I would expect it was on the list of considerations at least.

If they haven't worked on it yet then I would imagine they either aren't bothering, or they consider it sufficiently straight forward to add in later if they want to.

Link to comment
Share on other sites

I do understand the concerns of how it may affect 'performance'.  I have no idea how big an issue this could be, but if designed in from the start then the impact should be minimised.  I would also fully expect that T2 want KSP2 to be able to run adequately on 'ordinary' computers, as not doing would just limit their potential customer base and reduce sales.

I really don't understand the argument that it is a 'pointless' or 'useless' feature. Have those making that argument never had a couple of reference sheets next to their keyboards whilst working on something?  Or never had two text books open side by side whilst studying?  It certainly isn't 'essential', but it sure can be very 'useful' and 'convenient'.

Link to comment
Share on other sites

×
×
  • Create New...