cancel
Showing results for 
Search instead for 
Did you mean: 

AMD Ryzen Threadripper plus Oculus Home equals high CPU usage.

OttersGonnaOtt
Honored Guest
So I just got done building a Ryzen 1950x Threadripper box.  It uses the Asus Zenith Extreme motherboard.  It uses G.Skill Trident Z RGB RAM, 4x8GB sticks in quad channel.  Everything is updated and running steady.  Every app or game I throw at this thing fails to make it use more than 20% CPU for working tasks (though 95% for passives, like video rendering, which is expected).  Then I decided to set up my Rift again, so I could get back to pre-vis modeling in Medium and the occasional game, thinking the RAM and CPU bottlenecks of my old i7 4930K rig would be a thing of the past.

Boy was I wrong.

The Sensors (three of them) seem to work just fine.  Plug in the Rift HMD while Home is closed, still fine.  Open Home with the HMD plugged in, then laugh as the CPU jumps between 50% and 90% usage.  It's enough to make devices like mice and keyboards lag, prevent apps from loading and rendering properly, and generally locks up the whole system.  Unplug the HMB or close Home and you drop back down to 3-10% like you'd expect.

The truly concerning element?  The Oculus runtimes do not tally up to the bump in CPU usage.  If I'm at 50% all of a sudden, I'll see the OVRServer_x64 process max at 10% and the Home runtime hit maybe 25%, with the rest of the system at about 3% total.  A service that isn't tied to a process might be using the rest, maybe?  It baffles the mind.

The same issues happen if launching a game directly, only the game process is what has the huge CPU usage increase.  This leads me to believe anything running the SDK or runtimes is affected.

In the HMD, the view renders smoothly, but tracking is extremely broken (accurate, but maybe updating five times a second) and ASW is very evidently kicking in to fill in the gaps.  On the PC view of any apps or games, the app/game is running perfectly smooth and having no issues.  Tracking is perfect in the 2D window, just choppy to the extreme in the HMD.  Again, this seems like an issue with the backend and not apps themselves.

I have tried disabling SMT/hyperthreading, disabling cores, switching on the AMD game compatibility mode in Ryzen Master (unique to Threadripper CPUs), and even base-clocking my RAM down to 2166MHz in case it was a latency issue from the XMP upclock.  Game Mode helped a smidgen, but at the expense of the CPU now ranging from 80% to 100%.  Nothing else had any effect.

I realize this is a new processor and a new motherboard to go with it.  They released very recently and are expensive, so not many people have them.  That's my issue though, that not enough people own a 1950X and a Rift.  I have no clue if this is a localized issue or something that Oculus needs to address with an update.  That's where you guys come into frame.  If you have a Ryzen system, preferably one with 8+ physical cores (I think my high 16 core, 32 thread count may be partially to blame), please speak up with your results.  If there's a fix or specific setting needed, we need to catalog it for others in my position.

I love my Rift, but I need my Threadripper.  I'd love to keep both, but I may have to buy a Vive instead just to access Medium now.  

Thanks, guys.  All input is appreciated and very welcome.
25 REPLIES 25

kuroko
Explorer
disable windows scheduler (just a generic thing to do with the Ryzens).

Having said that, as an 1800x owner I do recommend the Ryzen master power settings if you haven't already downloaded them. The purpose of which is to keep windows from throttling down all of your cores because of low usage when in reality it is because tasks have been split across them and are hence not meeting the performance mode or balanced mode's requirements to boost.

https://community.amd.com/community/gaming/blog/2017/04/06/amd-ryzen-community-update-3

Link for posterity in case you didn't install the latest chipset drivers or change your power profile.

cybereality
Grand Champion
I'm not sure about this, but I've asked the team to see if anyone knows anything. Really sorry.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

OttersGonnaOtt
Honored Guest

kuroko said:

disable windows scheduler (just a generic thing to do with the Ryzens).

Having said that, as an 1800x owner I do recommend the Ryzen master power settings if you haven't already downloaded them. The purpose of which is to keep windows from throttling down all of your cores because of low usage when in reality it is because tasks have been split across them and are hence not meeting the performance mode or balanced mode's requirements to boost.

https://community.amd.com/community/gaming/blog/2017/04/06/amd-ryzen-community-update-3

Link for posterity in case you didn't install the latest chipset drivers or change your power profile.


Regarding the Ryzen power plan, I do use this and system responsiveness is indeed better for light tasks and even waking from hibernative states. I did notice one odd thing though. It appears that an Oculus runtime switches your power plan to High Performance temporarily and I'm guessing it swaps it back when you exit. I forget where this was (I think the Home logs), but while perusing my log files linked above I spotted this happening. I'm not sure how much this affects things however.



I'm not sure about this, but I've asked the team to see if anyone knows anything. Really sorry.


Thanks, Cyber. You da' man.

cybereality
Grand Champion
Did you install the Win 10 Creator's Update? I know that can cause some performance issues, be sure to have Windows Game Mode disabled. Also, are you overclocking? Either way, can you try underclocking the CPU (you can do this in Windows in Ryzen Master) to see if that helps?
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

cybereality
Grand Champion
We are looking into the issue. I'm not sure about that CPU (we will have to check) but it appears there may be some sort of general USB issue on your motherboard. I'd recommend trying different USB ports (try to avoid USB 3.1 and actually USB 2.0 may work best). Updating USB drivers (from your motherboard maker's site) may help, or downgrading to Microsoft default drivers if that doesn't work. You may also wish to get this add-on card to see if it helps.
https://www.amazon.com/Inateck-Superspeed-Ports-PCI-Expansion/dp/B00B6ZCNGM
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

OttersGonnaOtt
Honored Guest


Did you install the Win 10 Creator's Update? I know that can cause some performance issues, be sure to have Windows Game Mode disabled. Also, are you overclocking? Either way, can you try underclocking the CPU (you can do this in Windows in Ryzen Master) to see if that helps?


I installed a copy of windows with this update pre-installed.  Game mode is disabled, though after a recent patch Game Mode only affects sandboxed Store apps anyway.

I normally overclock my rigs, but only after they are up and running stable.  I have no such upclocking being done currently.  The 1950x is running stock, as is my GTX 1080.  RAM is actually upclocked, but using the on-chip profile and I've vetted the stability with a 48-hour memtest86 test series.



We are looking into the issue. I'm not sure about that CPU (we will have to check) but it appears there may be some sort of general USB issue on your motherboard. I'd recommend trying different USB ports (try to avoid USB 3.1 and actually USB 2.0 may work best). Updating USB drivers (from your motherboard maker's site) may help, or downgrading to Microsoft default drivers if that doesn't work. You may also wish to get this add-on card to see if it helps.
https://www.amazon.com/Inateck-Superspeed-Ports-PCI-Expansion/dp/B00B6ZCNGM



I have tried combinations of USB ports, including a single Sensor and the HMD alone on my two USB 2.0 ports.  The high CPU usage and stuttering are unchanged, and seem to be unlinked to the USB subsystems.

Regarding the Inateck card, I own the 5-port edition of that series.  My motherboard refuses to pass POST if I install it.  It was a great solution to my lack of USB controllers on my old PC though.  Asus needs to answer back regarding why some PCIe cards won't play nice on the Zenith Extreme mobo.  I suspect a BIOS will be releasing soon.  😕

Now, onto the next batch of tests I've done:

Under a suggestion in the linked Reddit thread, I tried forcing the Ryzen Balanced power plan (the Oculus software suite is swapping to High Performance automatically) using the third-party Oculus Tray Tool application.  This had no effect on the issue.

I tried spoofing my CPU ID in the Tray Tool as well, and it made no difference.

Someone else recommended I disable the Windows Scheduler, but I can't figure out how to make that happen.  There's currently debate on whether the Scheduler assigns tasks to threaded cores as if they were true cores and choking throughput apparently.  AMD officially says this isn't the case though.

I disabled ASW manually via the Tray Tool as well but it didn't seem to take.  😕

Using the Tray Tool, I pulled up a bunch of statistics views.  Notable values here were:

The performance overhead being -150% to -200% and heavily fluctuating.

The dropped frame counts were increasing to the thousands and faster than I could count.  Application drops were high, but the compositor drops were happening twice as fast.  Rough estimate?  100 dropped frames a second.

GPU latency was basically zero.  All other latency values were bouncing all over and were off the charts.

Basically my assumption that the compositor / ASW were more to blame appears on the right track.  Tracking in applications is perfect on the PC, so the USB seems to be fine and the apps seem to run as expected.  The headset view is what's screwed up though, and the only thing between the app and the HMD is the compositor.  Not saying that's the root cause here (it may just be a secondary symptom) but it is quite ponderous.

If you need me to run any specific tests, tools, or gather certain logs

cybereality
Grand Champion
The 5-port card is not the recommended one. Only this specific model is.
https://www.amazon.com/Inateck-Superspeed-Ports-PCI-Expansion/dp/B00B6ZCNGM
Can you try purchasing this one?
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

OttersGonnaOtt
Honored Guest


The 5-port card is not the recommended one. Only this specific model is.
https://www.amazon.com/Inateck-Superspeed-Ports-PCI-Expansion/dp/B00B6ZCNGM
Can you try purchasing this one?

I would assume that since the 5-port edition is using the same controller and has an additional one, it would work better.  Indeed, on my older rig it had enough controllers to spread my whole setup over.  Still, you guys can only vet so many devices I guess.

I've ordered the 4-port version you linked anyway, as my current card isn't working and simply may have been damaged somehow in the move to the new PC.  I'd still like the team to check on potential CPU-originating issues though, please.

I'll update on the USB situation when I get the new card in (looks like Friday).  Thanks.

cybereality
Grand Champion
OK, let me know how that goes.
AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV

OttersGonnaOtt
Honored Guest


OK, let me know how that goes.


Okay, here's the latest.  You guys may have been right in spotting USB issues... sort of.  My USB devices all worked fine, but in getting the 4-port Inateck hub to work on my motherboard ASUS helped figure out my southbridge was faulty.  If the CPU ramped up in any way, the southbridge controller diverted too much power away from itself and USB devices hooked up to it would error out on their data streams.  This in turn led to some devices error checking with extra device polling, exacerbating the issue.  I think the Rift may have been one such device.

I'm currently undergoing an RMA for the motherboard.  I'll update further to see if the new board solves my issue once the replacement part arrives.

Thanks for being patient, guys.