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.
im running a 6core amd and im pretty sure the game uses all 6 without having to force anything...deffo at least 5
The game barely utilize anything over 2 threads/cores. I get similar FPS with 8 threads vs 2 threads.
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.
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
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.
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/
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.
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.
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.
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