Multithreading question?

Discussion in 'Technical Archives' started by jackvee, Sep 11, 2013.

  1. jackvee

    jackvee Registered

    Joined:
    Jan 18, 2012
    Messages:
    14
    Likes Received:
    0
    Hello all, I have a question about multithreading. I have an Intel i7 6 core chip, is there any way to force all cores to be used? Task manager shows 1st core over 90% the rest almost idle. Thanks in advance.
     
  2. Dave Thebaptist

    Dave Thebaptist Registered

    Joined:
    Jun 18, 2013
    Messages:
    15
    Likes Received:
    0
    im running a 6core amd and im pretty sure the game uses all 6 without having to force anything...deffo at least 5
     
  3. xAcid9

    xAcid9 Registered

    Joined:
    Jan 13, 2012
    Messages:
    73
    Likes Received:
    1
    The game barely utilize anything over 2 threads/cores. I get similar FPS with 8 threads vs 2 threads.
     
  4. jackvee

    jackvee Registered

    Joined:
    Jan 18, 2012
    Messages:
    14
    Likes Received:
    0
    Thanks guys. Does rFactor staff have anything to add?
     
  5. Bart S

    Bart S Member

    Joined:
    Oct 5, 2010
    Messages:
    851
    Likes Received:
    104
    I do, its your nVidia car making use of your CPU. In nVidia controls its called CPU utilisation. Its not actually rFactor making use of the available CPU power.
     
  6. jackvee

    jackvee Registered

    Joined:
    Jan 18, 2012
    Messages:
    14
    Likes Received:
    0
    Bart S not sure what you mean? "its your nVidia car making use of your CPU" If you mean my video card I have an ATI card. I'm talking about task manager only showing 1 CPU core (not graphics cores) @ 100% usage the other 11 hyper-threads @ about 2% Intel i7 chip and windows 7 utilize HyperThreading. My computer specs Home built
    CPU Intel 3930 6 core 32 ghz overclocked @3.8ghz water cooled
    MB Intel DX79SI extream series
    Memory 32 gigs 2133 OC ram
    hard drives 2 Intel 120gb SSD
    Video card sapphire HD 7870 XT with boost
    power supply Coolmax 1500 watt
    Case Thermaltake Tai-Chi
    Audio onboard Realtek 7.1

    operating system Windows7 Pro 64bit build 7601 service pack 1
     
  7. Bart S

    Bart S Member

    Joined:
    Oct 5, 2010
    Messages:
    851
    Likes Received:
    104
    I was quoting Dave thebaptist he probably has an nVidia card thats why he sees most of his CPU cores running while rfactor2 is playing. It is infact the nVidia card not the game using the CPU to assist with graphic processing. If you have an ATI / AMD card you won't see this as they dont currently support CPU utilization to assist in graphic processing its all done onboard GPU. This is one of the reasons why rFactor2 is smoother on nVidia than ATI/AMD.
    This is nothing to do with rFactor2 utilizing more cores or threads, I think it only supports 2 cores, I would have to go to my nVidia CP and turn off CPU utilization to actually see how much of the CPU the game is using.
    I am on nVidia and yes I feel the benefit of more cores being used but its not the game rather the GPU side of things using the CPU where it could be faster. So yes my rFactor2 only uses as much CPU Cores as yours, what the GPU uses of the cores is different. The only way you can get more CPU processing is by overclocking.
    I really don't know how to explain it better its confusing, perhaps Tim will help.
     
  8. Roadblock

    Roadblock Registered

    Joined:
    Aug 12, 2013
    Messages:
    5
    Likes Received:
    0
    I can't speak for the ISI Developers, but I write software for a living and I can tell you that it's generally not as simple as 'forcing all cores to be used'.

    Writing good, multi-threaded code requires quite a bit of effort, and requires that the problem your code is solving lend itself towards a parallel solution (and even then, it can be difficult to get it right). Debugging and optimizing complex multi-threaded applications is also significantly more challenging than with single-threaded solutions. I imagine that there is a fair bit of single-threaded legacy code with rFactor 2, but I could be mistaken. Perhaps one of the ISI guys may chime in and give his thoughts.

    There's some more information/explanation here if you're interested in more detail:
    http://www.futurechips.org/tips-for-power-coders/parallel-programming.html
    http://blogs.intel.com/intellabs/2007/08/03/what_makes_parallel_programmin/
     
  9. Minibull

    Minibull Member

    Joined:
    Sep 28, 2012
    Messages:
    1,556
    Likes Received:
    18
    From what I've read from other people, it's something to do with being able to keep everything "in time". The gist I got from it was that basically complex sims with all their actions/reactions and complex physics cannot be scaled across multiple threads/cores. To do so and keep everything responsive and linked together would be a real challenge. Maybe someone else can properly explain what I mean but much much better XD. Love to see a dev actually give a proper good response.
     
  10. Lazza

    Lazza Registered

    Joined:
    Oct 5, 2010
    Messages:
    12,346
    Likes Received:
    6,572
    And depending what they're looking to change, this may not be the right time to look at separating code in order to run it across multiple threads. There's probably other stuff that would gain more performance, and this could be tweaked when most/all of the physics side is nailed down.

    We have seen more flexible, shall we say, implementations in other games that actually let you decide how to organise resources (cores), but I think it's fair to say those have much simpler code in each area. rF2 physics in itself is probably more demanding than most games in total, apart from sims of a similar nature.
     
  11. C3PO

    C3PO Registered

    Joined:
    Aug 31, 2012
    Messages:
    1,087
    Likes Received:
    86
    We had multi threading with Falcon 4.0 - and optimised it for AlliedForce. In fact the sim used it so well we were I invited by Intel to demonstrate at the European launch of the dual core CPU. One core ran the campaign engine alone. Worked great.
     
  12. Roadblock

    Roadblock Registered

    Joined:
    Aug 12, 2013
    Messages:
    5
    Likes Received:
    0
    You worked on that? I was/am a huge fan.. still fire it up from time to time to do a bit of flying :)
     
  13. Andregee

    Andregee Registered

    Joined:
    Jun 23, 2012
    Messages:
    927
    Likes Received:
    390
    That´s not true, it is nonsense. The CPU doesn´t support the gpu with graphic processing no matter if you are using AMD or Nvidia. A Gpu is developed for simultaneous data processing and a cpu has a very poor performance in that part. That is the reason for developing GPu in general. A CPU rendered grafic on an actuell high end consumer CPU would looks like games 15 years or more ago. An old GPU like an Nvidia 250GTs is much more faster in grafics rendering than an actuell CPU and the 250GTS couldn´t really support an actual GPU because the todays standarts GPU´s are much more faster. It would be like pushing a Jet by your hands to support the accelleration on the runway.
    The other way is possible, that the GPU assists the CPU by processing physics. But not many games supports this technical feature called PhysX on Nvidia GPU´s and RFactor2 ist not one of them.
    Another way is using the GPGPU performance of the GPU for processing the Depth of field like games such as Metro 2033 do and in that part AMD GPU of the 7000er series are very powerfully.
    I use an Intel Core I7 and Rfactor uses all 4 real cores, but not the simulated ones. It is true, that using of only 2 cores after setting it in the bios, Rfactor2 doesn´t loose frames per second, but that is because the 2 cores are fast enough the process enough data for the GPU. If you set the CPU clock to a lower value, than you will notice a decrease of frames per second and the use of all 4 cores is increasing the performance very notably.

    If Rfactor 2 is using only one core you can use the task manager to assign all core to it. I don´t know how it is named in english but after opening it, you have to push the button left down, maybe it is called process of all users. Than you have to search for the RF2. Exe, take a click with the right mouse button and than you have to choose "set affinity???" Than you can mark all cores.
    Thats all
     

Share This Page