Jump to content

Almost doubling your frames in VR


Recommended Posts

SCG_Fenris_Wolf
Posted

Hey guys,

 

what do you think of these?

 

https://developer.nvidia.com/vrworks

 

If we got these into the game - how awesome would that be? Play on Ultra all day long, and be ready for the new HMDs @1440p getting released due Christmas?

 

 

 

 

P.S. In our performance sheet, and on others on the internet, it shows that VR users almost exclusively run on NVIDIA cards. In IL-2 certainly exclusively, NVIDIA only.

  • Upvote 1
1./KG4_OldJames
Posted

Pm this to a developer.

Posted

The page says single pass stereo works in dx12. If that's marketing speech for "SPS requires dx12", then that's not really an option at the moment. I don't think 1CGS want to support two directX versions. They would have to move from dx11 to dx12 (not a trivial move). The number of customers 1CGS would please would be less than the customers they would annoy, as dx12 is available on win10 only.

  • Upvote 1
SCG_Fenris_Wolf
Posted

Upon further inspection: Several of these techs work in dx11. Dx12 is only required for the single one you mentioned as far as I have seen it. VRworks can also be implemented on the dx11 API (which is already what IL-2's engine is using)

Posted

Anything that is restricted to just one hardware vendor is a major problem. No developer with any sense is going to use such tech, especially since it is completely unnecessary. BoS's problem is CPU usage, not GPU (same is true for DCS). Breaking up the graphics rendering thread into 2 threads will solve the problems we currently have. That is not a trivial task however.

SCG_Fenris_Wolf
Posted (edited)

"Anything that is restricted to just one hardware vendor is a major problem. No developer with any sense is going to use such tech, especially since it is completely unnecessary

 

Since only NVIDIA is distributing such technologies you'd rather go with none at all because AMD doesn't do such things, is that what you are saying? Or that only stupid developers go with technologies developed by the major graphics developer? Btw, it would help your Ryzen (do I remember your CPU correctly?) as well.

 

 

"BoS's problem is CPU usage, not GPU (same is true for DCS). Breaking up the graphics rendering thread into 2 threads will solve the problems we currently have. That is not a trivial task however."

 

My i7 7700K at 4.9GHz ST is sweating due to calculating everything twice in VR. It's not even warming up when out of VR on just the monitor, nor would your Ryzen. Are you saying that halving the processing required for a set of geometry doesn't increase performance significantly for all VR users? https://developer.nvidia.com/vrworks/graphics/singlepassstereo

Edited by 2./JG51_Fenris_Wolf
Posted (edited)

What I'm saying is general solutions should be used instead. There is nothing Nvidia is offering in that that can't be done by the game engine programmers. Is it a little more work? Maybe, but it can be done so that it doesn't favor any particular hardware vendor and instead operates based on how good the hardware itself is. I say that as someone who has a GTX 1080 TI. The thing is, I would absolutely hate to be restricted to just nvidia for VR games in the future. That's just asking for them to abuse us consumers. So as said, the correct solution is to break up the graphics rendering thread. Neither Nvidia or AMD are required to do so. That is a task for 777: Studios and Eagle Dynamics to solve on their own. Methods for doing so are well known and follow standard programming practices. The reason BoS and DCS don't already do this is because they are legacy programs whose foundations were made long ago. Let's not forget that BoS was originally a 32 bit program running DX9. When was the last time you saw a new 32 bit windows PC? I'm guessing around 2005. I also suspect BoS was the last DX9 game ever released. The world moved on from DX9 and DX10 long before BoS even entered production, never mind released.

Edited by BeastyBaiter
[CPT]CptJackSparrow
Posted

I'm saying the thread title is a tease. :P

 

I was thinking, yea! Double the frames!

SCG_Fenris_Wolf
Posted (edited)

Hehe Sparrow :)

 

@Beastybaiter, your intentions are fine, but IL2 has no effect on which hardware the VR market will put weight on.

 

Its market share is simply way too little.

 

 

Hence that point becomes irrelevant, and the devs must go with the most cost/time efficient alternatives. Nvidia offers a fully developed api package for dx11, with support for devs as well. Sure, their payment is expansion of their market share, but that's how things go. The IL 2 dev "team" that implemented VR and did all the coding required was mainly one guy as far as I remember Jason said that. You cannot have that guy fully occupied with developing VR technologies on his own, that's crazy. Go with nvidias api packages I say, you won't have anything else anyway.

Edited by 2./JG51_Fenris_Wolf
Posted

The choices are simple:

1) Do nothing: VR suffers a bit but those with a reasonably quick modern CPU are fine on a monitor so long as the mission isn't too big and they play at under 100 fps. 144 Hz monitors may have issues and those over 144 Hz are certainly going to have BoS fall short.

 

2) Use Nvidia's VR API: VR users with Nvidia GPU's may see a performance boost, but no one else does.

 

3) Properly multi-thread BoS: Both VR and non-VR users see a performance boost regardless of if they run an Nvidia or an AMD GPU. Allows for massively increased mission size with good performance (10-20 AI planes to 100+ AI planes).

 

Options 2 and 3 are non-trivial. Implementing a new API into an existing engine can be very complicated. This is especially true when it's something that is going to fundamentally change the nature of the engine like this Nvidia API. Additionally, it requires the programmer to learn how to use the API before even beginning trying to use it. Multi-threading a legacy program is also very complicated. The methods for multi-threading are standard and have been for a long time now. Given that BoS is already somewhat multi-threaded, the primary programmer should already be well versed in this. Some questions likely remain with DX11 features that would allow for multi-threading the graphics engine though. But once again, the main programmer should have a firm knowledge of DX11 already, so adding more to it shouldn't be too time consuming.

 

Which of the latter 2 methods is more time consuming is hard to say. I don't think anyone can really say unless they have a thorough understanding of the game's source code. What we can say for certain is that option 3 is greatly preferable to option 2.

  • Upvote 1
Posted

Which of the latter 2 methods is more time consuming is hard to say. I don't think anyone can really say unless they have a thorough understanding of the game's source code. What we can say for certain is that option 3 is greatly preferable to option 2.

 

I cast my vote for option number  3)

...and I guess my vote will be just as important as all the ballots I've cast in political elections in the last 40 years :biggrin:

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...