Ralf – Multicore affinity question

Homepage Forums Technical Support Ralf – Multicore affinity question

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #110971
    Fredthehound
    Participant

    Hi Ralf,

    Got a tech question. I’m planning for an upgrade to either X99 or Z170/Kaby Lake and 3-4000MHz ram, from my Z87/4790K@4.7/2400MHz ram system. I have been reading about core assignment and affinities lately and I am wondering about getting a 6 or 8 core and assigning VorpX to 2/4 cores of it’s own and Skyrim/Fallout/whatever to the other 2/4.

    Is VorpX more CPU or GPU heavy? Since I’m topped out with a TitanXP without going the SLI route, and with Skyrim Remastered releasing next month, I’m looking where to go next for better performance out of VorpX/VR. So it’s either another TitanXP or more than 4 cores and overclocking.

    Help me Obi-Wan! You’re my only hope! ;

    #110992
    Ralf
    Keymaster

    >> Help me Obi-Wan! You’re my only hope! ;

    I’m slowly getting old for sure, but not that old yet!

    In contrast to the everlasting struggle between the Empire and the rebellion unfortunately there is no black and white here, just grey and vague answers.

    A lot depends on the game. SLI might not help at all if it doesn’t work for a game with vorpX or your headset. Oculus for example didn’t in the past, not sure whether that is the case still.

    Regarding CPU-affinity: Since vorpX runs inside the games, it’s main work is done within a game’s main render thread, so nothing you could manually assign to a different core here. The only thing you could assign to a core yourself is the vorpX Control app which watches for new programs getting started, but that’s more or less negligible. A few percent while vorpX isn’t active, even less while it is running in a game.

    So all in all not much to gain by assigning something to an extra core, probably nothing. Since the 6/8 core i7 CPUs usually have a lower max. clock rate than the quad core units, I would even guess that you are better off with a fast quad core i7 model for gaming (which provides 8 logical cores with Hyper Threading enabled).

    On a sidenote: not something you can do yourself, but I experimented with assigning the direct mode render thread manually to a dedicated core some time ago within the vorpX source code. In the ~10 games I tested with that there was absolutely zero difference, which pretty much also is in line with the majority opinion among programmers on the matter: in most cases the OS task scheduler simply is better or at least as good at balancing workload than anything a programmer can come up with.

    #111006
    Fredthehound
    Participant

    You sure you arent Yoda? Because you just got me to lift the proverbial X wing out of the swamp…or at least the wool from my eyes ;)

    With the multicore/affinity thing unfortunately ruled out, I dove back into the numbers and thanks to finally getting Skyrim Performance monitor working CORRECTLY with VorpX and showing me good data, I made one hell of an interesting discovery.

    In the picture linked below…
    http://s931.photobucket.com/user/NormLenhart/media/Ram%20limit.jpg.html
    …the framerates arent registering but this run was in the upper teens to lower 20s in Skyrim in Markarth. That is with EVERYTHING turned up full. Maximum possible load with the intent of making the system work as hard as possible. The 4790K @ 4.7 Ghz is the red line in the lower chart. CPU bind is not the problem. The Titan is the black line that never hits 60% usage. Clearly it isn’t the problem.

    But look at the green line on top. Thats Bill gates freaking 4 gig DX9 cap in windows 10 ruining the party. ENBoost is reserving the other 500ish meg thats not being shown. It’s a memory problem. Memory appears to be the only thing stopping VorpX/Geometry from running this config far above 45FPS and likely well above 90.

    All the dips are when looking at high detail areas. Things that I had believed to be a draw call problem. But look at the CPU. It’s not remotely stressed.

    When I looked at this before, it was with the really big texture packs installed and hit that cap, which I expected with the Antialiasing/weather/lighting mods. But my current load is on stock size textures. When I switch back to monitor, Skyrim is barely over 2 gig of memory use. Between the ram requirements of Skyrim and VorpX though, it’s hitting Billy’s asinine limit.

    So it looks like from what I can tell, Geometry mode/draw calls arent the main issue. An 8Ghz CPU and 4 titans would be meaningless. It’s purely a memory wall.

    Skyrim Remastered cannot get here fast enough. Well, if nothing else, this has been a learning experience for me.

    I’m redownloading Fallout 4 now for a stock reinstall. Since it seems there’s nothing more I can do for Skyrim till the remaster releases, I might as well start digging into Fallout to see what I’ll be in for when it releases.

    #111062
    Ralf
    Keymaster

    4 gig is too much for an unmodded Skyrim, maybe not all textures got removed when you removed your mods. With an unmodded Skyrim you should see something around 3 gigs at highest settings normally. At least that’s what I get here.

    #111063
    Fredthehound
    Participant

    Hi Ralf,

    This was on a modded install. It’s fine on a monitor/no memory cap issues, but the stereo rendering seems to take a lot more memory than I thought it was.

    On a separate note, I found out why Fallout 4 started crashing. The Nvidia cards seem to randomly have issues with the game recognizing the card/driver. This has been reported going back to the 700 series.

    I tried all the suggestions/fixes but whatever combo of driver/F4 updates happened, I can no longer select the 5/4 or 4/3 resolutions. Even manually inputting the resolution isn’t enough.

    None of the other games do this for me. Just Fallout 4.

    #166912
    RJK_
    Participant

    @ RALF

    …Regarding CPU-affinity: Since vorpX runs inside the games, it’s main work is done within a game’s main render thread, so nothing you could manually assign to a different core here….

    I assume when using for example an older game running on one Core + an i3 dual core (Skylake) with 3,7 Ghz against an i5 3,7Ghz (Skylake) would not make any difference because VorpX runs on that single core (thread) only (is this correct?).

    So overclocking the i3 would make more sence then buing an i5 with 3,7 Ghz or higher because its cheaper in this case. Am i right here ?

    RJ

    #166921
    Ralf
    Keymaster

    A pure dual core CPU without hyper threading (which doubles the amount of virtual cores) is not really suitable for vorpX anymore. Aside from modern games being multithreaded in itself, vorpX also uses multiple threads. Depending on the game two of them with the potential to use an entire (virtual) core for themselves if a full core is available.

    So a quad core (or at least a dual core with hyper threading) is heavily recommended. Even better is a quad core with hyper threading (i7), which provides eight virtual cores. This can further improve performance in modern games with Direct VR support (e.g. Fallout 4 with Direct VR enabled) compared to an i5.

    #166925
    RJK_
    Participant

    Intersting info, thanks Ralf. I i am using a 3,7 ghz dual core with HT. I purchased this one because of serious overclocking abilities. (6 Ghz *lol).
    Didnt know last year that i was going to run into VR so soon.

    I thought HT wasnt so good for a gaming PC, at least thats what some forums say.

    #166927
    Fredthehound
    Participant

    RJK_

    Unfortunately that’s a belief that’s outlived it’s truth. Some games used to benefit from disabling hyperthreading but that’s long been sorted out. the issue was that it could cause stuttering. Games like Skyrim that REALLY needed all the power you could give it had that issue but code updates have long since fixed the problem. The other meme that overstayed it’s welcome is about ram speed not mattering. It does today with the amount of data being moved at high CPU clocks in most games. Some like the Bethesda games see double digit frame increases going above 3000mhz. Others, less. But it’s a rare exception today in games, when faster ram doesn’t help.

    Today, the issue is that there are too many PHYSICAL, much less virtual cores for games to fully utilize. Which is a good problem to have, all things considered ;). I’ll give you my standard advice. Buy the biggest and fastest you can afford. ESPECIALLY ram. Fast ram will help a LOT. As in 3200 and up. A 4 core/8 thread I7 of 6700K or above clocked to the hilt is a beautiful thing and will do the job admirably on any game out today in VR/VorpX even with a lot of mods (as in Skyrim or Fallout). It will likely be a couple years before the games catch up to Ryzen and the new Intel core monsters so for now, clock is still very much king…but a 4 core/8 thread chip really is a must for VR.

    #166928
    RJK_
    Participant

    300 and up Euros for an I7 at the moment here in germany. I think i wait for a few versions of VorpX futher before spending that ;-)

    I think ill first try some “weaker” games which ill do anyway because i have so many of them and keep Fallout 4 for later.

    Maybe ill throw my VR glasses in the bin one day when i dont soon get used to that serious motion sicknes i am experiencing. So ill wait a bit in any case.

    Anyway, thanks i appreciate your advice.

    #167216
    Hikari
    Participant

    Interesting details.

    Multiplatform games on Xbox Scorpio and PS4 Remaster are heavily bottlenecked by CPU, so I believe game devs are gonna do extra work to optimize for CPU.

    CPU serial performance is always better used and more expensive to get. If you can, always choose better serial performance – which doesn’t mean higher clock when comparing different microarchitectures – over more cores.

    Core affinity is rarely worth anything. If you wanna try, Process Lasso has some neat features for that. But yes, OS task scheduler does the job just fine. Only situation I see its worth is if you have 4 cores (6 cores doesn’t need it anymore, 2 cores is too few) and a few no important processes eating 5-15% of a core each. Instead of having them split among cores and competing with more important processes, you can just set them all to the same CPU and leave the other 3 free.

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.

Spread the word. Share this post!