Qwixt
Posts: 902
Joined: 6/19/2006 Status: offline
|
This thread is starting to get some misinformation. quote:
ORIGINAL: stuart3 quote:
Especially with games that only use one core. Which would be most IGUGO type games. That's the traditional situation. Many games use only one core, and few use more than two. But DirectX 12, Mantle, and Vulkan are making it easier and more efficient to spread the load across multiple cores. People have been saying this for at least 10-15 years. Many newer games (64-bit) are starting to use over 8 gig of memory. I would not build or buy a gaming rig these days with 8 gig of memory. Multithreaded performance vs single thread performance is all dependent on the processor itself, and its single thread rating. So if you look at this for the 7700k (top 4-core intel cpu these days?), and the Ryzen 1800x https://www.cpubenchmark.net/cpu.php?cpu=Intel+Core+i7-7700K+%40+4.20GHz&id=2874 https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+7+1800X&id=2966 You will see the intel has a single thread rating of 2586, and the ryzen has a single thread rating of 1955. But if you look at the CPU rating on this cart, you will all the higher # core processors rated very high due to how the benchmark rates stuff. Because video processing and compression for these higher # core CPUs basically kick the 4-core or 2-core equivalent, they get a very high rating, which is why this benchmark includes single thread rating. Hyper threading divides one physical core into 2 logical cores. The only way I can simply describe this is like when you partition one hard drive into two logical drives as seen by the OS. When you think about it, it becomes apparent that you cannot use both logical devices at the exact same time, and that they must share because there is only one physical device to do the work. Where the efficiency and performance enhancement comes in, is when one logical core is waiting to do something, then the other can kick in and do some work. Wait 1, Work 2, Wait 2, Work 1,... Generally speaking most games use 1 or 2 threads, maybe 3. There are a few games out there that use more, but are rare. The reason for lower numbers of threads in applications/games is not because of lazy developers. Multithreaded programming is more difficult and higher risk. As a programmer, you need to assess where you can run two or more distinct separable things and execute them. If those things share resources that can be changed, you must protect those resources so that only one thread can access them. Otherwise, you can end up with errors in data, processing, and/or deadlocks. Then generally speaking, if you do all that right, you must somehow sync them up, so that the main thread can get an answer or status on what the thread was doing. So if you think developers are going to magically start writing 6 to 10 threaded games, it's highly unlikely. Some style of games lend themselves to more threads than others. But it's real easy to see two threads at the beginning, one for AI and the other for graphical display. Therein lies the base number of threads for games. But even that might not make sense for some games.
< Message edited by Qwixt -- 5/27/2017 4:17:04 PM >
|