Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
nickpittom's avatar
nickpittom
Protege
11 years ago

New SDK - 0.4.1 - successes and problems...

Hey guys! You may know my Ghibli demos and some stupid kickstarter thing I did.

So the new SDK - 0.4.1 - has arrived. Great news! Getting into it:

EDIT: Demos now available here: DX11 is on. Forcing off with a shortcut (as Totoro comes with) flips to Dx9.

Totoro:
https://mega.co.nz/#!rtZjQIYC!B0s_j3l7JK6eSVC2WN1l69tXrPJFvxIml0_WYJ4SqzA

Boiler Room:
https://mega.co.nz/#!X9gjXQRD!htlW82pg6JrcCm6PRsL-AR8Rvc9Zf8XhBy6IJW-ZpTA
(This demo is broken for interactivity. To play the current working one go here - extended mode only): https://mega.co.nz/#!3kBBCa5R!j8ufmq8yAt8VIw210R9Y8laegnJbTTGru9vuu9t57I8)

EDIT: Summary - In Direct-To-Rift mode Dx11 kills performance. Dx9 (Dx11 off), frame rates do not get locked at 75fps.

Dx9 in DirectToRift Mode - frame rates in the 80s: http://i.imgur.com/j4CyDal.jpg



-I had a glitch (which no one else seemed to have) where the 'main menu' script on the controller would give me horrible errors and I had to disable it (annoying of course) - this is now fixed. Horray!

-The other problems I encountered were with Direct to Rift. No Mirror to Monitor working. Horrible judder. This now 'works'! Horray?

-It's also widely known Dx11 was not working. Dx11 now 'works'. Horray?

Well... not Horray, no.

The following relates to DX11 on, in Direct to Rift mode, directtroift.exe.

Checking the frame rates, in Boiler Room all seemed great, although I noticed frame rates dipped below 75 a couple of times. Odd... But otherwise perfect! Direct to Rift mirrors to desktop and works without judder (except when dropping below 75).

Totoro? No dice. Dx11 Direct to Rift gives frame rates in the 40s. On a 780ti. Oh dear.

See, 'direct to rift' is only fixed when Dx11 is on. But with Dx11 on performance is KICKED IN THE BALLS.

With dx11 off, the frame rates for Totoro (and Boiler Room) are now in the 80s. Good? No. Because we should be locked at 75. Thus... judder returns. Forcing dx9 with a command line for Dx11 versions also simply replicates the issue.

-Extended mode? Lovely. No problems at all and perfect 75 Vsync all round regardless, but I didn't have problems with the last SDK either.

So... it seems we just have to figure out why performance is murdered down to the 40s for Direct to Rift under DX11, or why DX11 off is racing all the way up to the 80s and giving judder - and we can solve all issues! At least for me. Perhaps.

Any ideas, folks?

10 Replies

Replies have been turned off for this discussion
  • drash's avatar
    drash
    Heroic Explorer
    What version of Unity are you using, and do you have Timewarp on or off in your case? How about Vsync (in Quality Settings)?

    Definitely great that DX11+DirectHMDAccess+DirectToRift.exe works a lot better than before (for me at least... as far as I know), but your performance hit sounds alarming. I'd like to check for you, but I'm having trouble even checking the framerate in this case because:

    a) I don't see anything drawn in Game view in the Unity editor.

    b) For a build, if I have Unity Vsync off (via QualitySettings) in my Player settings (or if I toggle it off at runtime), it will simply crash (I've only tried doing DX11+DirectHMDAccess+DirectToRift.exe).

    While I'm on the topic of 0.4.1 problems, my main hurdle right now is that I see vertical tearing that I can't seem to get rid of. Again, this is when doing DX11+DirectHMDAccess+DirectToRift.exe, with Vsync on via QualitySettings. Any ideas?
  • "drash" wrote:
    What version of Unity are you using, and do you have Timewarp on or off in your case? How about Vsync (in Quality Settings)?


    Latest versions of everything.

    Ok, so experiments with Timewarp - does nothing.

    Odd thing though... performance on any version is NOW in the 60-70s range. Weird. No idea why it bumped up for no reason.

    Looking away from anything important goes up to sit at the 75fps range, so the Vsync is hitting the right frame rate when it can reach it.

    But the performance is still down on extended.
  • "drash" wrote:
    What version of Unity are you using, and do you have Timewarp on or off in your case? How about Vsync (in Quality Settings)?

    Definitely great that DX11+DirectHMDAccess+DirectToRift.exe works a lot better than before (for me at least... as far as I know), but your performance hit sounds alarming. I'd like to check for you, but I'm having trouble even checking the framerate in this case because:

    a) I don't see anything drawn in Game view in the Unity editor.

    b) For a build, if I have Unity Vsync off (via QualitySettings) in my Player settings (or if I toggle it off at runtime), it will simply crash (I've only tried doing DX11+DirectHMDAccess+DirectToRift.exe).

    While I'm on the topic of 0.4.1 problems, my main hurdle right now is that I see vertical tearing that I can't seem to get rid of. Again, this is when doing DX11+DirectHMDAccess+DirectToRift.exe, with Vsync on via QualitySettings. Any ideas?



    a) AMD or nVidia? If you say AMD let me try reproducing that tonight with one of my projects, I FINALLY hooked up that AMD 6970 rig to the wall. I felt like in a separate bubble using just an nVidia... gotta return to the whole entire universe :-)

    b) Lately what I have is v-sync off in quality settings and timewarp & pred ON in the camera. Odd setting; I then have my nVidia CP force v-sync to off. Now I've tried many other combos than this, some with similar results, some worse, but one thing these settings changes never did is crash the system - so again more food for the AMD rig tonight. Silly point but is Use DirectX11 checked in your project and would it be a problem to UNcheck it?

    What I like here is nick reports framerates around 75 whereas with v-sync on and even the DK2 as the sole lone display on the system, Unity apps always have synced to 60fps so far on 0.4.0 - I really hope they fixed that part in this build and nick's frame rates seem to possibly indicate this. I hope!

    So far my only cause for crashing seems to have been DirectX11... any and all Unity games compiled on DX11 or forced on DX11 will or will not crash. Ocean Rift, Proton Pulse and my own demo have all had at least one random crash. The very random non-reproduceable type.
  • AMD or nVidia?

    -nVidia 780ti

    vSync setting makes no difference either way.
  • korinVR's avatar
    korinVR
    Expert Protege
    My quick notes for SDK 0.4.1 and Unity 4.5.3:

    - (D3D11 mode) Game view is blank
    - (D3D9 mode) Game view works but it is displayed at an odd position (please see the attached screenshot)
    - After running once, switching "Use Direct3D 11" crashes Unity

    - D3D11 build works fine at silky smooth 75fps (direct mode)
    - D3D9 build does not display anything on Rift (direct mode)

    Consequently, I have to use Unity with D3D9 mode and execute the build with -force-d3d11 option.

    Thank you for the Time Warp fix.
    Looks like the judder has gone on my PC and I can enjoy very responsive tracking now.
  • "KatsuomiK" wrote:
    My quick notes for SDK 0.4.1 and Unity 4.5.3:

    - (D3D11 mode) Game view is blank
    - (D3D9 mode) Game view works but it is displayed at an odd position (please see the attached screenshot)
    - After running once, switching "Use Direct3D 11" crashes Unity

    - D3D11 build works fine at silky smooth 75fps (direct mode)
    - D3D9 build does not display anything on Rift (direct mode)

    Consequently, I have to use Unity with D3D9 mode and execute the build with -force-d3d11 option.

    Thank you for the Time Warp fix.
    Looks like the judder has gone on my PC and I can enjoy very responsive tracking now.



    75 you too? Seriously? :) In Direct? Ok, that's enough good news to feel reassured. I'll probably pop it in our project at work today even if I don't have my DK2 to test.

    Now I'm not replying for that... Specifically I have to mention I'm chuckling at the WTF-ness of that screenshot. Have *not* seen that yet and it'd initially make me think I've just been up working for too long! LOL
  • Anton's avatar
    Anton
    Honored Guest
    Hi HI,
    Just wanted to post some of my successes/issues with 0.4/0.4.1 so far. Have had my DK2 for 2 days now, actually have been pleasantly surprised to find a working build pipeline. For reference I'm using Unity 4.5p3 So without further ado:

    Things that working nicely (0.4.1):

    - I don't know if anyone else experienced this, but I actually had a perceptible performance boost from 0.4 to 0.4.1. Granted, my project was DX11-required anyway, and I was using the -force command on my DirectToRift.exe shortcut beforehand, so it might have just been semi-busted before.

    - The regress to symmetric frustum has cleared up all drawing artifacts. The 4 image effects, hdr, deferred, shadowed all seems to draw correctly now. Soft-Particle depth blending works correctly again. Specular highlights for objects are in the correct place again. YeeeeeaaaAAAY



    Things that are not so nice:

    - Still can't see anything in my game view in DX-11 mode, even though the patch notes say I should be able to

    - Things drawn by OnWillRenderObject (TC Particles) do not draw in the rift. This is CONFUSING considering that they show up in the internal render-texture being sent TO the rift by Unity. There must be some weird magic happening here for them to not show up at _all_ in the rift. No idea..

    - The jump from Vsynced to 75fps to 50fps is JARRING, sudden and inexplicable. There are zones of my level where things can run fine, and zones where it suddenly can't. I find the juddering isn't so bad when i hold my head still, but moving it side-to-side when its running at 50fps is _terrible_.


    General Thoughts:

    - As I'm working on a fairly graphically demanding game that won't be right to optimize for a long time, it strikes me that nausea-free development is really going to require a gpu an order of magnitude more powerful than whichever minimum gpu on is targeting for final release.

    - I do currently have to build out to .exe every time I want to test. While irritating at first, once one gets into the rhythm of it, its actually not so bad. Could very much dev this way if needed. Would still be worth it.

    - Dear lord the color and luminance range on this new display is soooooo much better than the DK1. My game is very dark and contrasty in its lighting, and it looks stunning on this panel.


    Hardware:
    Malibal Lotus - i7-3740QM 2.7ghz
    16gb ram
    Nvidia 680m 4gb
    Using HDMI out to DirectMode only (extended mode was a bust on this optimus configuration)
  • Hey guys!

    I'm developing my app with Unity 4.5.3f3 and Oculus SDK 0.4.1.
    And I use DK2 with [Extend Desktop to the HMD] mode.

    Yesterday, I wanted to check a behavior of my app in Play mode.
    So I dragged the Game view from the Editor window to DK2 so that it became a floating window, and then I clicked Play button.
    But the Game view showed black. On the other hand, the place of the Scene view showed a stereoscopic 3D view.

    I found that this only happened when I use floating Game view and enabled the [Use Direct3D 11] checkbox.
    If I didn't do that, the Game view showed a stereoscopic 3D view.

    How about you?

    --
    Hardware:
    Model: G-GEAR note N1581J-711/E
    CPU: i7-4712MQ
    Chipset: Intel HM87 Chipset
    GPU: NVIDIA GTX 870M 3GB with Optimus
    Geforce driver: 340.52
    Intel Graphics driver: 15.33.22.64.3621
    OS: Win7 Home 64bit
  • Yup, I notice that with it when set to Dx11, switch it off and it comes back in game view.

    ADDITONALLY: Performance is up with the latest Unity (4.5.3f3), so all is looking great!