Oculus Developer Forums

Oculus Rift automatic down-sampling and Duplicated displays

A forum to discuss development for the Oculus Rift.

Oculus Rift automatic down-sampling and Duplicated displays

Postby joe » Tue Jun 18, 2013 1:34 pm

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.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby craigotron » Tue Jun 18, 2013 1:47 pm

Very helpful. Thank you for sharing this. Is this specific to Windows only, or will similar display tweaks also reduce latency on OX X/Linux?
User avatar
craigotron
 
Posts: 240
Joined: Fri Mar 29, 2013 7:16 pm
Location: an island in the net, cyberspace, the metaverse, the matrix, oasis and a meat locker somewhere.

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Tue Jun 18, 2013 1:50 pm

We 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.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby mrgreen72 » Tue Jun 18, 2013 2:03 pm

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:

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?
User avatar
mrgreen72
 
Posts: 383
Joined: Fri Mar 29, 2013 1:40 pm
Location: Québec, Canada

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby Pokey » Tue Jun 18, 2013 2:11 pm

Someone 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
User avatar
Pokey
 
Posts: 112
Joined: Fri Mar 29, 2013 2:04 pm

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Tue Jun 18, 2013 2:11 pm

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.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby mrgreen72 » Tue Jun 18, 2013 3:21 pm

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?
User avatar
mrgreen72
 
Posts: 383
Joined: Fri Mar 29, 2013 1:40 pm
Location: Québec, Canada

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby Frito » Tue Jun 18, 2013 3:46 pm

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?

Thanks for the tests Joe
Backer
"Have faith." -Palmer Luckey
User avatar
Frito
 
Posts: 870
Joined: Tue Jun 04, 2013 11:39 am
Location: FACEBOOK

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Tue Jun 18, 2013 3:56 pm

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.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Tue Jun 18, 2013 4:02 pm

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.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby drash » Tue Jun 18, 2013 7:18 pm

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)?
Titans of Space - current version is 1.37 (released Oct 14th), available for Win/Mac/Linux.
Translations are available at the official website.

Blog & other VR projects: DrashVR.com.
User avatar
drash
 
Posts: 1404
Joined: Fri Mar 29, 2013 2:53 pm
Location: Murrieta, CA

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby mrgreen72 » Tue Jun 18, 2013 8:40 pm

drash wrote:
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)?

Makes sense but that's not it.
User avatar
mrgreen72
 
Posts: 383
Joined: Fri Mar 29, 2013 1:40 pm
Location: Québec, Canada

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby crespo80 » Tue Jun 18, 2013 11:36 pm

joe wrote: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.

This sounds really strange to me, are you sure you are setting the Rift as the Source of cloning? Because the strange behaviour you describe is exactly what I was perceiving the first time I tried the Rift, there was a really bad (and unusual) stuttering to the image; then I discovered I had to select the Rift as Source of the clone. After that I didn't notice any difference between cloning and extending.
User avatar
crespo80
 
Posts: 293
Joined: Fri Mar 29, 2013 2:16 pm
Location: Bologna, Italy

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby LordJuanlo » Wed Jun 19, 2013 12:46 am

joe wrote:1) Letting the Rift scale down the frames is more or less fine


That's great! I've specially noticed how much better it is in Titans of Space, the text is way easier to read with the Rift downscaling from 1080p.

joe wrote:3) Cloning your main display is bad and is probably causing extra latency.


What about cloning using the graphic card driver instead of Windows desktop properties? I'm using a Catalyst Control Center option that creates an "Eyefinity group" of cloned displays, I've tried up to 3. Setting the Rift as preferred display gets rid of the tearing on it, but can see the main monitor tearing. I haven't noticed any latency, but I have no way to measure it.
Image
Comunidad española de RV / Spanish VR Community
User avatar
LordJuanlo
 
Posts: 135
Joined: Fri Mar 29, 2013 4:59 pm
Location: Spain

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby PostHuman » Wed Jun 19, 2013 6:10 am

joe wrote:
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


I see that the splitter supports 1900 x 1200. 1920x1200 is not mentioned, is that going to be a problem when running full res ?
PostHuman
 
Posts: 6
Joined: Tue Apr 02, 2013 3:45 am

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby tomf » Wed Jun 19, 2013 8:59 am

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.

The one bizarre issue I had was that one of the P4V screens (File Diff?) would insist on popping up on the secondary monitor (i.e. the Rift). No other program did this. I got used to hitting the magic key combo to retrieve my window: Alt+Space, M, Down cursor, then move the mouse.

The other solution to this is using a DVI or HMDI splitter to duplicate the Rift screen on a monitor. Also makes for a simpler debugging cycle.

Remember the Rift SDK does tell you which monitor the Rift is on, so if you're writing apps, please do query it and create the screen on the correct monitor. That way people don't have to set the Rift as the primary.
User avatar
tomf
Team Oculus Team Oculus
 
Posts: 43
Joined: Fri May 24, 2013 2:24 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby tomf » Wed Jun 19, 2013 9:02 am

PostHuman wrote:I see that the splitter supports 1900 x 1200. 1920x1200 is not mentioned, is that going to be a problem when running full res ?

Almost certainly a typo - "1900" is not any resolution I know of.
Tom Forsyth - OculusVR coder
User avatar
tomf
Team Oculus Team Oculus
 
Posts: 43
Joined: Fri May 24, 2013 2:24 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby tomf » Wed Jun 19, 2013 9:15 am

joe wrote: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.

Random theories:

#1: makes sense. The scaling chip is tiny and has only a few scanlines of memory, so it couldn't buffer even if it wanted to. Good to know it's working.

#2: I think this is still the Windows Presentation Manager (or whatever it's called these days) - the window has to be blitted to the screen, and it only does that at VBLANK. But if you have two monitors connected, *which* VBLANK is the WPM synced to? It might be the first one (your primary), not the second one (the Rift). So maybe "10ms" is actually an average of half of 16.7ms (because the two are not in sync) plus 2ms for the blit? Did you check if the Aero timings were any different?

#3: The GPUs have lots of different ways of doing the cloning under the hood. Sometimes it's just a blit triggered by the driver (e.g. it's an elegant way of doing rescaling for modes the RAMDAC/scaler doesn't natively support). So maybe that blit is only happening at VBLANK as well, which is why you're seeing dropped frames. IIRC there's some options you can play with in some AMD control panels which might affect this ("Enable GPU scaling")
Tom Forsyth - OculusVR coder
User avatar
tomf
Team Oculus Team Oculus
 
Posts: 43
Joined: Fri May 24, 2013 2:24 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Wed Jun 19, 2013 10:40 am

PostHuman wrote:I see that the splitter supports 1900 x 1200. 1920x1200 is not mentioned, is that going to be a problem when running full res ?


From the Amazon listing: Supports DVI monitor resolutions up to 1900 x 1200

Mine is set to 1920x1200. I think they just mentioned "widescreen up to 1920x1080" because people don't understand the difference between 16:9 and 16:10 aspect ratios.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Re: Oculus Rift automatic down-sampling and Duplicated displ

Postby joe » Wed Jun 19, 2013 10:42 am

joe wrote:
PostHuman wrote:I see that the splitter supports 1900 x 1200. 1920x1200 is not mentioned, is that going to be a problem when running full res ?


From the Amazon listing: Supports DVI monitor resolutions up to 1900 x 1200

Mine is set to 1920x1200. I think they just mentioned "widescreen up to 1920x1080" because people don't understand the difference between 16:9 and 16:10 aspect ratios.


Turns out I can't read. Yes, it supports 1920x1200. The Amazon listing has a typo.
User avatar
joe
 
Posts: 95
Joined: Tue Feb 19, 2013 12:28 pm
Location: Seattle

Next

Return to Oculus General Development

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 4 guests