Dynamically calculating quality settings for optimum perf.
Many PC gamers are used to playing with quality settings and making choices such as choosing resolution or AA over framerate etc. But, that's not appropriate in VR due to the necessity of VSync and 75 fps. Also, as the game designers I think it should be our decision what gets sacrificed if they can't hit the framerate because we know what's most important to the experience we are trying to put across.
As an experiment I've been playing around with dynamically calculating the screen percentage (hmd sp) when a level starts. My process is:
1) Black the screen out with a post process, turn off vSync and turn sp to 200
2) Run for a few frames then test the fsp
3) If the fsp < 85 (to add some wiggle room) reduce sp by 5 and go to step 2
4) Turn on vSync and cancel the post process.
The results are obviously dependant on what the camera is looking at, but they have been fairly consistent and give me a good screen percentage without judder.
Once we have a baseline fps for a user, we can reduce it at times when we know something more demanding is coming along.
The more fleshed out idea would be to:
1) Involve more settings in the test
2) Find the "fps" problem area(s) of a level during development
3) While the screen is black, detach the camera and make it look at that problem area(s) while performing the test
4) Give the user a key to press if they experience judder to re-run the test.
Please let me know if I'm missing something that means I'm wasting my time (I am new to all this btw)
Are there any rumours of Unreal changing the engine to ensure 75 fps by automatically scaling?
Thanks for reading.
As an experiment I've been playing around with dynamically calculating the screen percentage (hmd sp) when a level starts. My process is:
1) Black the screen out with a post process, turn off vSync and turn sp to 200
2) Run for a few frames then test the fsp
3) If the fsp < 85 (to add some wiggle room) reduce sp by 5 and go to step 2
4) Turn on vSync and cancel the post process.
The results are obviously dependant on what the camera is looking at, but they have been fairly consistent and give me a good screen percentage without judder.
Once we have a baseline fps for a user, we can reduce it at times when we know something more demanding is coming along.
The more fleshed out idea would be to:
1) Involve more settings in the test
2) Find the "fps" problem area(s) of a level during development
3) While the screen is black, detach the camera and make it look at that problem area(s) while performing the test
4) Give the user a key to press if they experience judder to re-run the test.
Please let me know if I'm missing something that means I'm wasting my time (I am new to all this btw)
Are there any rumours of Unreal changing the engine to ensure 75 fps by automatically scaling?
Thanks for reading.
