Forum Discussion
joe
13 years agoExplorer
Oculus Rift automatic down-sampling and Duplicated displays
This came up in the Half-Life thread, but it isn't specifically a Half-Life question, so I wanted to start a new thread for this issue.
The Rift exposes a bunch of different valid resolutions to Windows even the panel itself is 1280x800 and only 1280x800. It goes up to 1920x1200 (which is also 16:10). Not sure how far it goes down.
After some research (and measuring) it seems to us that the down-sampling occurs in the Rift converter box and that it doesn't introduce significant latency. The way we measure latency (with a high speed camera and some blinky LEDs) we have a minimum resolution of about 3ms, so a 0ms measurement means something less than 3ms. This is all just display latency and doesn't include any measurable rendering time or tracking. This was all under DX11, in case that's significant. (The Source games actually run under DX9.)
Full screen with the display extended to the Rift (not duplicated):
1280x800: 0ms
1920x1200: 0ms
Windowed without Aero and the display extended to the Rift:
1280x800: 10ms
When you switch to duplicating the desktop monitor and the Rift things get strange. The tester runs at something like 1000Hz, and it appears that Windows is actually dropping most of the frames and never sending them to the display at all. This happens in both Full-screen and Windowed, but the final swap in windowed is slow enough that fewer frames get dropped. It dropped so many frames that measuring the latency was actually hard to do.
So the verdict is:
1) Letting the Rift scale down the frames is more or less fine
2) I need to switch the Source games to use full screen instead of windowed to save 10ms
3) Cloning your main display is bad and is probably causing extra latency.
The Rift exposes a bunch of different valid resolutions to Windows even the panel itself is 1280x800 and only 1280x800. It goes up to 1920x1200 (which is also 16:10). Not sure how far it goes down.
After some research (and measuring) it seems to us that the down-sampling occurs in the Rift converter box and that it doesn't introduce significant latency. The way we measure latency (with a high speed camera and some blinky LEDs) we have a minimum resolution of about 3ms, so a 0ms measurement means something less than 3ms. This is all just display latency and doesn't include any measurable rendering time or tracking. This was all under DX11, in case that's significant. (The Source games actually run under DX9.)
Full screen with the display extended to the Rift (not duplicated):
1280x800: 0ms
1920x1200: 0ms
Windowed without Aero and the display extended to the Rift:
1280x800: 10ms
When you switch to duplicating the desktop monitor and the Rift things get strange. The tester runs at something like 1000Hz, and it appears that Windows is actually dropping most of the frames and never sending them to the display at all. This happens in both Full-screen and Windowed, but the final swap in windowed is slow enough that fewer frames get dropped. It dropped so many frames that measuring the latency was actually hard to do.
So the verdict is:
1) Letting the Rift scale down the frames is more or less fine
2) I need to switch the Source games to use full screen instead of windowed to save 10ms
3) Cloning your main display is bad and is probably causing extra latency.
32 Replies
- craigotronHonored GuestVery helpful. Thank you for sharing this. Is this specific to Windows only, or will similar display tweaks also reduce latency on OX X/Linux?
- joeExplorerWe only measured Windows. I'm sure the scaling in the Rift itself is the same on other platforms, but you would need to measure those platforms to be sure of the implications of cloning a display or running windowed.
- mrgreen72SuperstarVery interesting results. Glad to know that downscaling through the Rift doesn't introduce latency as it does look much better. I could have sworn the head tracking didn't feel as smooth though. I'm crazy apparently. :oops:
So no cloning eh?
Wasn't there other issues when you extended your desktop to your Rift? Some said to put the Rift as the primary display but how the hell am I supposed to use Windows that way? - PokeyHonored GuestSomeone said windows-P was a fast way to switch primary monitors in another thread. Just switch every time you take off / put on the Rift
- joeExplorer
"mrgreen72" wrote:
Wasn't there other issues when you extended your desktop to your Rift? Some said to put the Rift as the primary display but how the hell am I supposed to use Windows that way?
I've had my desktop extended to a Rift for about six months and haven't noticed any issue with either the the desktop or the games running on the Rift. I don't know if it has implications with different setups, though. - mrgreen72Superstar
"joe" wrote:
"mrgreen72" wrote:
Wasn't there other issues when you extended your desktop to your Rift? Some said to put the Rift as the primary display but how the hell am I supposed to use Windows that way?
I've had my desktop extended to a Rift for about six months and haven't noticed any issue with either the the desktop or the games running on the Rift. I don't know if it has implications with different setups, though.
Great news. Thanks Joe.
Having a mirrored screen is pretty frickin convenient though. Anyone has recommendations on a splitter? - FritoExplorerJust changed from duplicated to extended,
should I leave the res at 1280x800 and go maxres (1200/1080?)ingame, or directly set it at 1200?
Thanks for the tests Joe - joeExplorer
"mrgreen72" wrote:
Having a mirrored screen is pretty frickin convenient though. Anyone has recommendations on a splitter?
We use these: http://www.amazon.com/Aluratek-ADS02F-2-Port-Video-Splitter/dp/B001IYFZA2/ref=sr_1_2?ie=UTF8&qid=1371595282&sr=8-2
You have to connect the monitors in a particular order to get the PC to receive the right EDID from the Rift. That order is:
1) unplug everything
2) connect the Rift to one of the outputs
3) connect the input side from the PC
4) connect the monitor
5) Disconnect the input side and reconnect it
Annoying, but if you leave the splitter on you shouldn't need to redo it. - joeExplorer
"Frito" wrote:
Just changed from duplicated to extended,
should I leave the res at 1280x800 and go maxres (1200/1080?)ingame, or directly set it at 1200?
I would set the Rift to 1280x800. The visual quality will suffer, but everything will work right.
There's a change in the pipeline for the Source games that will let it adapt to whatever you set the Rift resolution to, but it hasn't shipped yet. - drashHeroic Explorer
"mrgreen72" wrote:
Very interesting results. Glad to know that downscaling through the Rift doesn't introduce latency as it does look much better. I could have sworn the head tracking didn't feel as smooth though. I'm crazy apparently. :oops:
Maybe you're not crazy -- maybe in your case, the app you were running was fast at 1280x800, but at 1920x1080 broke below 60fps (or whatever fps you start to feel it not being smooth)?
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 years ago
- 2 months ago