State of Multi-Threading

Discussion in 'Technical & Support' started by Max Dralle, Mar 16, 2017.

  1. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Hi all.

    Like the title says, I was wondering, what the actual state of multi-threading is, because "sim threshold" is not present in the player.json anymore and adding it manually does nothing, but it disappears automatically when I exit the game.

    So, is multi-threading binned for good or is there a chance that it will come back one day ?

    Mainly, I'm asking because on some tracks, I sometimes get pretty low fps (~40) in stereoscopic 3D mode and that seems way too low, considering my system specs (see signature).

    TIA,
    Max
     
    Last edited: Mar 17, 2017
  2. Lazza

    Lazza Well-Known Member

    Joined:
    Oct 5, 2010
    Messages:
    3,824
    Likes Received:
    299
    @Max Dralle It seems likely you're GPU bound, so extra CPU multi threading isn't going to help anyway. What does Ctrl-C show?
     
  3. Adrianstealth

    Adrianstealth Well-Known Member

    Joined:
    May 28, 2012
    Messages:
    3,627
    Likes Received:
    330
    If your in 3D you need to seriously run on very low graphic details

    & reduce the resolution as much as you can stand , the sim will be much better this way

    Shoot for average fps of around 100fps
     
  4. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Thanks for your feedback, guys.

    I'll check what crtl-c shows, when I get back home, but I somewhat doubt, my OCed GTX1070 is the bottleneck for a DX9 based game ... ;)

    All I'd need for fluid gameplay is a minimum of 60fps with vsync and tripple buffering enabled and on most of the tracks my GPU usage hovers between 40 & 60% using that setting.

    I also noticed that eg. on the the Nordschleife (on of the tracks that gives me low fps), reducing the track details does not result in higher framerates, hence I suspect the CPU being the show stopper.

    However, I'll try ctrl-c and fiddle around with more in game settings, like details of oppenent cars etc.

    Cheers,
    Max
     
  5. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Hi again.

    I finally found some time to make screenshots with ctrl-c being enabled.
    If I got it right, green lines show graphics card usage and purple bars show physics and hence CPU usage, correct ?

    The biggest issue occures on VLM's Mid-Ohio (no chicane layout), a few corners before the pitlane.

    I see one single green spike at full height and one purple bar at ~25%, but Afterburner's / Rivatuner's OSD show a GPU usage of only 37% and a CPU usage of 14%, which equals to "almost two CPUs" on my i7-3930K. Resulting in a mere 45.4fps.

    On VLM's Rouen-les-Essart's 1955 starting straight, I saw 3-4 "pulsating" green lines and very low purple bars, but Afterburner reported a GPU usage of only 68% and CPU at 12% (~1.5 cores) at 66.6fps.

    If I take those numbers and multiply the corresponding framerates, I should end up with ~120fps in Mid-Ohio and ~100fps in Rouen, if my gfx card was utilized 100%.

    The only track, that really maxes my GPU to 100% at ~60fps, is the Nordschleife.

    So back to my original question, what happened to "sim threshold", because I'm pretty confident that multi-threading would help to improve my GPU utilization for higher and more consistent frame rates.

    Anybody got a clue ?

    TIA,
    Max
     

    Attached Files:

  6. stonec

    stonec Member

    Joined:
    Jun 19, 2012
    Messages:
    2,074
    Likes Received:
    292
    The in-game bar and Afterburner (or whatever GPU software bar) are most likely not showing compatible numbers. The in-game bars tell how much the CPU/GPU is utilized from the game's point of view, the GPU monitoring software tells how much the GPU is utilized on a more physical level (or at least a deeper level than what rF2 reports). rF2 being a DX9 app could be one limitation as well for modern hardware.

    If the in-game green bar is mostly close to 100% and the purple bar stays mostly below 50%, then everything is correct. I doubt multi-threading would do much as you already have a good enough CPU. In my experience FPS in rF2 is very GPU dependent, I gained 0% FPS by overclocking my first gen i5 and I don't see the CPU being an issue unless you add a huge number of AIs.
     
  7. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Thanx for your feedback, stonec.

    AI is an interesting keyword, because I was running with 10 AI drivers and in my thinking each AI could (should) use a dedicated thread, as well as their respective physics calculations.

    So in theory, rF2 or any kind of racing simulation should be indefinitely threadable.

    However, I tried without any AI and that didn't yield any noticeable performance gains.

    Also, I could disable anti-aliasing, because the amount of fences at that spot could be taxing the framerates by quite a margin, but I still wonder, why my GPU usage is so low (~37%) and what might be holding it back.

    Maybe it's an issue specifically on that Mid-Ohio track in combination with stereoscopic 3D, because when I disable it, my framerates hover well above 120fps and usually, enabling it results in halving my fps not cutting it in thirds.

    These issues aside and coming back to my original question:
    Anybody knows what happened to "sim threshold" or about the state of multi-threading in general ?

    Thanx,
    Max
     
  8. WiZPER

    WiZPER Member

    Joined:
    Oct 5, 2010
    Messages:
    1,281
    Likes Received:
    82
    Track details has to defined within each track by VisGroups defined per object, this may not have been in high focus or priority for the modder(s) - which I say without having looked at the. SCN file.
     
    Max Dralle likes this.
  9. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Thanks, WiZPER.

    I thought that much, but having another close look at the ctrl-c overlay, I discovered there are two different purple bars, a horizontal one that hovers between 25 & 50% and a vertical one, that always seems to be maxed out.

    So once more:
    What happened to "sim threshold" and what is the status quo of multi-threading ?
     

    Attached Files:

  10. Lazza

    Lazza Well-Known Member

    Joined:
    Oct 5, 2010
    Messages:
    3,824
    Likes Received:
    299
    @Max Dralle The vertical is a histogram, as long as you've basically got a single bar on the left you're all good (if some physics 'frames' were taking longer, you'd have extra bars popping up to its right; you have a small bar or so, so some of the physics frames are taking a little longer, but I think if the horizontal bar isn't spiking to the right it's not an issue timing-wise).

    Here's a very old reference, two posts from staff members, to try and clear up what Ctrl-C shows (note it's all about CPU, not GPU):

    https://forum.studio-397.com/index.php?threads/cpu-time-graph-what-does-it-show.28856/#post-471824
     
    Max Dralle likes this.
  11. Lazza

    Lazza Well-Known Member

    Joined:
    Oct 5, 2010
    Messages:
    3,824
    Likes Received:
    299
    And just to repeat myself... your graphics part of that graph, which means the work your CPU is doing towards graphics, looks totally fine. It's fully utilized, but very consistent, which shows your CPU isn't struggling with it. And the physics - purple - section, shows very low overall utilization (good thing) and very consistent timing with everything way over to the left (good thing also).

    This would all indicate your CPU isn't an issue at all. I would therefore suggest, as per my first reply, you're GPU bound (later in the pipeline, probably related to 3D), your CPU isn't a problem, and no CPU multithreading or sim threshold options are going to have any influence on what you're experiencing. IMO.
     
    Max Dralle likes this.
  12. McFlex

    McFlex Well-Known Member

    Joined:
    Feb 23, 2012
    Messages:
    457
    Likes Received:
    32
    If you have performance issues please check with GPU-Z if your motherboard pci-e slot for your gpu is set to "PCI-E 3.0" and not "2.0". I heard of that issue sometimes ago
     
  13. patchedupdemon

    patchedupdemon Well-Known Member

    Joined:
    Jan 3, 2017
    Messages:
    254
    Likes Received:
    148
    I've found changing from pcie 2.0 and 3.0 has never yielded any difference in performance for me,on any game,is there something wrong my motherboard
     
  14. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Thanx for your feedback, everybody !
    Much appreciated ... :)

    My CPU supports PCIe 2.0 only, PCIe 3.0 came later with the i7-49x0 series CPUs and the differences would be marginal at best.
    There are quite a few articles online, that cover this topic.
    http://www.guru3d.com/articles-pages/pci-express-scaling-game-performance-analysis-review,1.html
    https://www.techpowerup.com/reviews/AMD/R9_Fury_X_PCI-Express_Scaling/

    Still puzzles me, why the horizontal green bar is at 100%, while my GPU usage hovers around 35-40% on that Mid-Ohio spot.
     
  15. Ari Antero

    Ari Antero Well-Known Member

    Joined:
    Jul 27, 2012
    Messages:
    903
    Likes Received:
    71
    "According to the Data sheet for the IntelĀ® Core™ i7 processors for socket 2011, the processor supports upto 40 lanes of PCI-E with speeds up to 8GT/s (Data sheet page 9). A PCI-E lane with speeds of 8GT/s just happens to be the speed of PCI-E 3.0. http://en.wikipedia.org/wiki/PCI_Express

    When the chips were first released they didn't list PCI-E 3.0 but they all support it now."
     
  16. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
  17. Ari Antero

    Ari Antero Well-Known Member

    Joined:
    Jul 27, 2012
    Messages:
    903
    Likes Received:
    71
    I read from you profile that you have Intel Core i7-3930K@4.3GHz which has PCI-E lane speed 8GT/s.
    Yes, Intel Core i7-3930K@3.2GHz has PCI-E lane speed 5 GT/s and it is PCI Express Revision 2.0. :(
     
  18. Lazza

    Lazza Well-Known Member

    Joined:
    Oct 5, 2010
    Messages:
    3,824
    Likes Received:
    299
    rF2 seems/seemed to be particularly sensitive to it, so general reviews/articles aren't reliable in this instance.

    The Ctrl-C graph isn't showing you your GPU utilization. It's just about how much work the CPU is doing towards graphics. Limiting FPS in the game will drop the green bar down, not because the GPU is working less, but because the CPU can do what it needs to do for graphics each frame and then stop and wait for the next one. At least as far as I can understand, those posts I linked to mention this as well.
     
  19. Max Dralle

    Max Dralle Well-Known Member

    Joined:
    Mar 16, 2017
    Messages:
    123
    Likes Received:
    62
    Hi Lazza.

    If doubling the PCIe bandwidth results in a maximum gain of ~5%, I'd still call it marginal ... ;)
    But maybe, you were refering to multi GPU systems in extreme high resolutions scenarios, where that difference seems to be accumulating with each GPU ?

    ...

    In that thread you linked to, Terence writes:
    "So the fat graphics bar is usually full, meaning it's just using all the CPU it can."

    If that results in my GPU usage being around 40%, it might be helpful to have more than just one CPU thread to feed the GPU, don't you agree ?

    However, I find it a little disturbing, that nobody seems to have a clue what has happened to "sim threshold" and about the actual state of multithreading.

    After all, this is the "Technical & Support" forum, but no one from Studio 397 seems to bother and shed some light on this.
     
  20. stonec

    stonec Member

    Joined:
    Jun 19, 2012
    Messages:
    2,074
    Likes Received:
    292
    Well I can shed some light on it. Multithreading was removed because it interfered with Nvidia drivers in 2% of users or something, resulting in random massive stuttering and crashes (you can probably find these user reports in some build 9XX thread). Normally Nvidia drivers automatically allocate work to idle CPU threads according to what is available, but somehow this process interfered with rF2's multi-threading. Also I think it was multi-threaded physics specifically, I think there never was more than one thread feeding the GPU.

    When the "sim threshold" variable was still available, I tested the difference and noted that driving felt less smooth when I turned it on (this on an i5 CPU and Nvidia card), though I didn't get any massive slowdowns. So I see no benefits with multi-threading, at least not in as it used to be with that variable on, it would only help those AMD FX users who literally can't keep the CPU in real-time, and tbh people still using AMD FX should consider a new CPU anyway, the single-core performance is that poor.
     
    Ho3n3r and Max Dralle like this.

Share This Page