FX-8150 vs i7/i5, what games use all 8 cores and is there a benchmark?

njeriuxp

Distinguished
Dec 4, 2007
37
0
18,530
I was looking at different benchmarks and i7 and even i5 seem better than this 8 core processor in gaming, despite the 8 cores, 8 MB cache in L3 and L2. But I also read that most games don't use many cores.

Is there any game that can use all 8 cores of the FX-8150? If not, if there will be a game that uses all 8 cores in the near future, could the FX be better than a hyperthreaded i7?
 

Kamen_BG

Distinguished
The FX has the potential to beat a Core i7 but since most applications use up to 4 cores the FX CPU just cant compete.There is currently only one game that i know of that uses more than 4 cores efficiently and thats Battlefield 3.It uses 6 cores and in it, the FX processor is a bit faster than a Core i5.
But remember most games use 2-4 cores and so Intel's processors perform better.
Intel just uses a superior archetecture.That's why at most games you need a FX at 4.8 GHZ just to match a Core i5 at 3.3.
 
Games are not well multithreaded, and unlikely will be heavily multithreaded to the point of using 8 cores in the near future. The only major title out right now that can leverage more than 4 cores is Battlefield 3 in larger multiplayer maps, and even then you will still likely be GPU bound for the most part, so the extra cores won't provide a huge difference. The vast majority of games today use 1 or 2 cores, with some using 3 or 4.

The i5 is considered the best value gaming CPU out there, as it has 4 strong cores that can handle any game out there. The i7 also works well, though there is no appreciable difference between the i5 and i7, so it's not worth getting an i7 just for gaming. The FX 8150 is not the greatest gaming CPU. It has to be heavily overclocked to keep up with Intel's i5 in gaming scenarios. It is adequate for gaming if you don't have a really high end graphics card or multiple GPUs. However, I wouldn't recommend it for a gaming rig. If you are doing productivity work that uses lots of cores and you can't afford the i7, it might be a good choice, though you can save even more money by getting the 8120 and overclocking it.

Piledriver is supposed to come out in a month or so, and it should be better than the Bulldozer FX CPUs, so if you are set on AMD, you may want to wait before building.
 

njeriuxp

Distinguished
Dec 4, 2007
37
0
18,530


So after PS4 and XBox720 are on the market, and if they use a multicore system, and if games start using eight cores, the current FX-8150 has the potential to beat i7-3770? Could it be be a safer and cheaper investment if seen from this view?
 
By the time the next gen consoles hit, and we have games out that can leverage heavy multithreading that the next gen consoles may or may not have, the FX 8150 will be obsolete. Next gen consoles aren't hitting until late next year at the earliest. It will take at least another year after that before we start seeing some games that really start to leverage the new console's full power. The FX really isn't going to be all that future proof. You're better off with a quad core Intel CPU now, and maybe look at something new in a couple of years if the next gen consoles push the CPU requirements to the point that the quad core Intel CPUs can't keep up anymore.
 

njeriuxp

Distinguished
Dec 4, 2007
37
0
18,530

______________
Thank you for the advise. I am actually trying to build a PC and I have already bought 8 GB Ram 1600 hz, a SSD, a HDD, a PC case, a simple cooler but that is better than the CPU box coolers (I don't overclock) and a 550w PSU. I am planning to use my HD 4850 video card a bit longer, until the more decent ones get cheaper. All is left for the moment is the MB and the CPU, because I am really undecided. I would like to go to Intel this time, being more reliable, but I might wait for the piledrive. I didn't know it was about to hit the markets in a month.
 

njeriuxp

Distinguished
Dec 4, 2007
37
0
18,530


Well, I read today that the consoles that are about to hit the market in December 2013 are being produced right now (IGN had an article saying that Xbox 720 might push its release date because of a production problem). So, if they are being produced right now, all they got to use are the CPU-s that we currently have in the market, and these might define the quality of games for the next generation.
 
And keep in mind: if you game uses all cores you can not play it any longer, because there is no core left for the mouse driver! :) In fact the windows scheduler will never allow one application to use all cores. That's why I like my FX8150! Whatever I do in foreground, there always a core left to play the music, respond to the mouse and write files to disk.
 
Well 2013 will probably be the era of Quad Cores, with 2014 being the real push to better SMT implementation and higher core counts...that is of course if writers will stop being lazy and actually write something that can use 4+ cores simultaneously.
 

Maxx_Power

Distinguished


This is not how multi-tasking works. Low priority applications like drivers and minor background things worked well when there was just SINGLE core systems. The threads are interleaved on a priority weighed time basis, so that things that work in real time like drivers are always given high priority, but since they need very tiny little if ANY at all processing time on a modern computer, there is never an issue.

You are describing multi-threading, but the way drivers and core windows components work were programmed with the ability to do time-shared multi-tasking well before they were then written to do multi-threading. And at any given time, your computer probably has hundreds to thousands of threads running, not all at the same priority at the same time. My computer right now has 466 threads concurrent, and I only have 4 cores.

EDIT: To clarify -> drivers like mouse and audio are higher priority than other background tasks like user programs. No matter how the scheduler handles threads, the higher priority routines (drivers, for example) always gets their share, because their intrinsic priority is higher than that of thread-level.
 


When we've only recently gotten to the point that dual core CPU's are the minimum for most games, I wouldn't bet on that. 2015, maybe...

There will be more games like BF3 to come, but I don't see every game using 4 or more cores for quite some time.
 

Smeg45

Honorable
Mar 9, 2012
892
0
11,010
The number of cores is not as important as the core architecture. Ivy Bridge vs FX simply smashes it into little AMD pieces. Intel's CPU design is exceptional compared to FX. This results in excellent single threaded and IPC performance which is what games need. It all depends on useless consoles though. I can't think of more than half a dozen PC games that really push PC's.
 


Your explanation on multitasking is right, but you missed some improvements made to the scheduler for multicores.
 

popatim

Titan
Moderator
noidea, you imply that a single core processor cant run your mouse and another program at the same time and thats just plain wrong. Improvements in the scheduler dont really matter because it still works the same; If all cores are in use it will still schedule other tasks to them. End of story.
 

Maxx_Power

Distinguished


Yep, there are several levels of IRQs, and drivers being deferred procedure calls are two levels above user threads. No matter how many cores you have, the priorities of the levels do not change. So your higher level stuff always gets their time share on any processor they want to be on. To put it in another way, short of a poorly written driver, your programs will stop responding long before drivers have ran out of processor resources when you are short on physical core computational time.

A lot of drivers have (if I remember correctly), affinities for CPU cores (usually hard affinities set in the driver code) makes it almost impossible to bounce around driver routines from core to core. They get their dibs first and foremost on any core they want (usually Core-0), and this is decided independently of the windows thread scheduler/scheduler.
 

sabot00

Distinguished
May 4, 2008
2,387
0
19,860
A FX-8150 isn't going to beat a i7-3770k ever, because despite the FX having 8 "cores" the 3770k's cores are all much more efficient, the decode block faster, the branch prediction more accurate, and can compute more instructions per cycle.

3770k/3570k/2600k/2500k etc > FX-8150.
 





This in combination with a significant CPU/NB frequency overclock (controls the L3 cache frequency) gives the 8120 and the 8150 near Sandy Bridge and Ivy Bridge integer performance per Hz per core and higher overclocking CPU frequency headroom than Sandy/Ivy Bridge (unless you replace the crap paste between Ivy's CPU die and IHS with some top-end paste, in which case Ivy could still best the FX8120 or 8150 used like this). However, using PS Check to modify the P states of individual cores and altering prioritization might be better than merely disabling the second core of each module. It would offer a more i7-like Hyper-Threading performance with eight threads while still letting the primary core benefit from the reduced sharing of the front end when running intensive single/lightly threaded work such as gaming.
 


I never implied that a single core can not run my mouse and a do know about how time slicing works, but you may want to read a bit more why the scheduler has to be "multicore and architecture aware" here: http://www.intel.com/technology/itj/2007/v11i4/9-process/5-multi-core-scheduling.htm. That also explains why the scheduler needs an update to respond correctly to the accidentally different numbering of the FX cores. There is also this article about the fair scheduling implemented with Vista. The aim of it is basically that my program will NOT stop responding long before drivers have ran out of resources.
 

Maxx_Power

Distinguished


The scheduler improvements you talked about are real, and pretains to thread level parallism. But what I was saying is that threads are one type of a computational routine on a CPU, and as such, they are several levels (2, I think) below drivers (in terms of IRQ levels, which determine the priority of a given task), which are DPCs. Drivers may use helper threads for additional tasks. But fundamentally, the portion responsible for your crucial things like mouse, video and sound, etc all occur at a higher priority level than threads. They also get to take dibs on which core they want. The windows scheduler can THEN assign the unused processor time to juggling threads. This is why, when all else being typical on a modern win-OS, there is no possible way your drivers will run out of computational results before your programs. If your mouser driver is sending packets of data to be processed at say, 10khz (which is WAY below that of modern CPU clocks, and roughly on the order of USB polling intervals on most computers), then that 10khz of cycle is laid out to be used by the CPU first and foremost in a queue of DPCs, which is independent from the threads waiting to be executed. On the FX series, the scheduler still works the same way no matter which windows patch you run. It can only assign threads to different cores. Whether or not it does this efficiently is not the same as how DPCs are ran on computers, which as I said, occur at a different IRQ level all together.

Bottom of the line is, schedulers schedule threads, which pretains to multi-threading. Drivers and such occur at the DPC (deferred procedural calls) level. As such, the fundamental components of the drivers (not helper tasks/threads) are always given priority on the CPU, far before threads are. Threads are (if I remember correctly), level 0 IRQ wise, the least important of the IRQ levels. The recent improvements to threading are all made to this level, all the other fundamental levels (system clock, etc) are untouched by mere scheduler changes.

Straight from MS (http://msdn.microsoft.com/en-us/windows/hardware/gg487402.aspx):

An interrupt request level (IRQL) defines the hardware priority at which a processor operates at any given time. In the Windows Driver Model, a thread running at a low IRQL can be interrupted to run code at a higher IRQL.

The number of IRQLs and their specific values are processor-dependent. The IA64 and AMD64 architectures have 16 IRQLs and the x86-based processors have 32. (The difference is due primarily to the types of interrupt controllers that are used with each architecture.) Table 1 is a list of the IRQLs for x86, IA64, and AMD64 processors.

Table 1. Interrupt Request Levels
IRQL IRQL value Description
x86 IA64 AMD64
PASSIVE_LEVEL 0 0 0 User threads and most kernel-mode operations
APC_LEVEL 1 1 1 Asynchronous procedure calls and page faults
DISPATCH_LEVEL 2 2 2 Thread scheduler and deferred procedure calls (DPCs)
CMC_LEVEL N/A 3 N/A Correctable machine-check level (IA64 platforms only)
Device interrupt levels (DIRQL) 3-26 4-11 3-11 Device interrupts
PC_LEVEL N/A 12 N/A Performance counter (IA64 platforms only)
PROFILE_LEVEL 27 15 15 Profiling timer for releases earlier than Windows 2000
SYNCH_LEVEL 27 13 13 Synchronization of code and instruction streams across processors
CLOCK_LEVEL N/A 13 13 Clock timer
CLOCK2_LEVEL 28 N/A N/A Clock timer for x86 hardware
IPI_LEVEL 29 14 14 Interprocessor interrupt for enforcing cache consistency
POWER_LEVEL 30 15 14 Power failure
HIGH_LEVEL 31 15 15 Machine checks and catastrophic errors; profiling timer for Windows XP and later releases



Threads occur at PASSIVE_LEVEL, while driver processes occur at DISPATCH_LEVEL.
 

BF3 in multiplayer is the only game known to use 8 cores, the upcoming Medal of Honor game likely will as well too since it uses the same game engine as BF3, however these games will be few and far between. There are a lot of games that still only use 2 cores. an i5 quad is more than adequate to handle any game you come across on the market and will continue to for some time. The video card has been and still is the heaviest deciding factor on your gaming performance.