[EG] AMD CPU's performance get "massive boost" as devs optimize next-gen game engines

Page 5 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

bononos

Diamond Member
Aug 21, 2011
3,894
162
106
True in some, not in others? I'm sure there are games where 80% of parallelism opportunities have been achieved for the 20% effort, and I'm sure there are games where multi cores are barely utilized...such as starcraft 2.

Starcraft 2 may not need high fps to be enjoyable. That might be why its not optimized to be multithreaded.
I agree that most of the easy pickings for parallelism have probably been exploited.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
Yep, it seems to be the notion that you can miraclous fix all multithreading issues with "proper coders".

It doesn't just "seem" to be the notion, it is the actual truth.

Can 100% perfect scaling across threads be reached? No.

But the assumption you draw is false. 100% perfect scaling is not required to fix all "multithreading issues". In fact, the "multithreading issues" are largely non-existent, even without using all 8 threads an FX-8350, for example, can run nearly all modern software adequately.

What can happen is that the worst case scenarios where AMD CPU fall behind because of terrible programming can be improved to match or even exceed some of the games that actually do use multiple threads. This is a good thing, despite your attempts to make it sound like something else.
 

SiliconWars

Platinum Member
Dec 29, 2012
2,346
0
0
Remember that the point in the OP was that the devs are going to need to be better at multithreading if they are going to get the most out of the console going forward.

These guys are big business, they aren't going to sit back and try to get the most out of it using one strong thread like is the case in PC's. The gap between those who do and those who don't will be too big, so they'll all be figuring it out right now.
 

Essence_of_War

Platinum Member
Feb 21, 2013
2,650
4
81
Programmers are not lazy, they are directed to accomplish something, given a budget (money and time) to deliver the required goods, and that is all there is to it.

Do people really think there is some inside joke going on with programmers where they all wink to each other in passing, acknowledging that they could have parallelized their code by working both Sunday and Saturday on their weekend, instead of just working all day Saturday, but they opted to pull the wool over their employer's eyes and be lazy by delivering less-parallelized code?

:thumbsup::thumbsup::thumbsup:

Exactly, the programmer's are being asked to do a lot with as few resources (time, money, etc) as possible. Since it's time consuming to write multi-threaded code, and it's more time consuming to optimize it. From the dec company's perspective, why should they throw excessive time and money at dev-side optimizations when PC gamers, already enthusiasts typically, are willing and able to invest money in better hardware?

Hardware is (relatively) cheap. Development teams are expensive.
 

sm625

Diamond Member
May 6, 2011
8,172
137
106
Huh? It makes every sense to me. If they can make their game work adequately on 8 comparatively weak cores it's pretty much given the console optimized version would scream on the much stronger PC CPUs.

There are operations that execute on a console in 100 nS that take over a microsecond or more on a PC. Take audio for example. On a console you can send audio output to the buffer in one simple write that takes almost no cpu resources. The developer knows everything about the audio device and can thus code his audio data structure around that specific device. He can use a pointer to that structure for fastest possible access. On a PC you have to go through 3 layers of abstraction and use DMA, interrupts, etc. So you have to use larger buffers and dedicate more memory to audio and you cant use pointers in the same way. The data structures are much more generic and you might spend thousands of cycles sorting all that out every single time you want to output a single sound. So even if a PC had 2X the IPC and 2X the speed, it still wont be nearly as fast. That's why the latest Xbox 360 games absolutely destroy and embarass PC games from 2007-2008, even though we had faster PC hardware even back then.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
I'm rather interested in hearing what software development and managerial experience you have to back up your claims.


Good old argument from authority.

When 3d game A uses 4+ cores adequately and performs great on AMD CPU while 3d game B uses only 1 core and has trouble maintaining 60 fps on AMD CPU, and there are essentially no significant difference between the game engines in userland.

I don't need to be a game developer, all I need to do is look at existing games which prove my point perfectly.

It's fairly obvious that it isn't impossible to program a game to use more threads, as game A already does that.
 

KingFatty

Diamond Member
Dec 29, 2010
3,034
1
81
So will they be working on programming Planetside 3 in assembly language to make it really run smoothly?
 

blackened23

Diamond Member
Jul 26, 2011
8,548
2
0
This thread is ridiculous. I don't think highly of AMD desktop CPUs, but anyone thinking that console developers won't make the effort to squeeze every ounce of performance out of the new multi threaded architecture is dreaming. : Millions of dollars go into console development, and it will happen. Whether that translates with PC ports, I kinda doubt it, because both XB1 and PS4 use system specific tools for direct hardware access - it isn't like games will be designed from the "top down" with the PC; they will be designed primarily using the API-free tools for the XB1 and PS4. Developers will gain a lot of performance doing this, DirectX will not be used on consoles - again, next-gen consoles are not using APIs for additional performance, so I kinda doubt that PC game ports will benefit. But console games? Definitely will be highly multi thread/core optimized. As I said. Anyone stating otherwise is dreaming and probably an anti-AMD troll - I don't like AMD desktop CPUs, but this (multi core/threaded console development) WILL happen.

Some folks just go OUT OF THEIR way to be an anti AMD troll. As I said. I don't think highly of their desktop CPUs either, but this (highly multi threaded/core optimization) is going to happen with the consoles. But, again, one cannot make apples to apples comparisons with current games or PC APIs - the consoles will not be using APIs (for higher direct to metal performance) and will not rely on the clunky MT implementations that have been prevalent thus far with games. It doesn't make sense to assign subsystems per thread, spreading the workload out across all threads will require a lot of work but it's going to happen. Console developers have a vested interested in making it happen, so it will - dollars are at stake.
 
Last edited:

SiliconWars

Platinum Member
Dec 29, 2012
2,346
0
0
So will they be working on programming Planetside 3 in assembly language to make it really run smoothly?

There's no need, anything that is performance critical can be written in assembly language and called in C++ already, and often is.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
I don't need to be a game developer, all I need to do is look at existing games which prove my point perfectly.

That's what I expected. It's pretty common that people with no actual experience in a field tend to make a lot of assumptions about said field... hence why I asked. As a software developer (not in the gaming industry), I suggest that you read this post. It pretty much says what I would say, but probably a lot better.

EDIT:

There's no need, anything that is performance critical can be written in assembly language and called in C++ already, and often is.

I'm pretty sure that he was being facetious.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
. It pretty much says what I would say, but probably a lot better.

What I get from that post is that a lot of games are poorly multi-threaded because it is the easier & cheaper way to write them. That doesn't mean they can't be written to use more threads, and games like battlefield 3 prove that modern games can effectively use 4 or more threads.
 

Dribble

Platinum Member
Aug 9, 2005
2,076
611
136
Chiropteran is basically right. The games aren't coded for more threads. This is partly because it's harder to code for more threads but mostly because there are only 3 cores on an xbox 360, and 2-4 cores in most PC's. I know they can handle more threads but with all the atomic locking and everything else required with threading it's not particularly efficient to have lots of threads if you don't have enough cores to let them all run at once.

When we switch to the xbox one games will get coded for eight threads as we have eight cores. This won't be a major problem as the underlying game engine (e.g. unreal) will have been coded that way. The good thing about consoles is devs know the exact hardware they have - you can be pretty sure they'll code for it.

This will be reflected in the PC ports - while they will run fine with less cores as PC cores are more powerful, almost certainly 8 cores will be optimal.
 

MisterMac

Senior member
Sep 16, 2011
777
0
0
What I get from that post is that a lot of games are poorly multi-threaded because it is the easier & cheaper way to write them. That doesn't mean they can't be written to use more threads, and games like battlefield 3 prove that modern games can effectively use 4 or more threads.


No one has ever disputed it - but when the cost is 2 million for an engine that's weakly threaded vs 50 million for an engine that's parallel utopia 1 out of a 1000 studios will choose the latter.

When it requires massive knowledge not availeble freely in the market (Yay for all the JIT VM languages being taught enmasse! that'll make for a great market pool!) - prices go up.

It's the same as process tech - and you can be sure Intel will move to 6\8 core's mainstream if software side catches up.
Because this will enable a new wave of options for computing previous just not possible for the mainstream.

Same as the bandwidth\latency internet argument.
A webpage in 98 was kilobytes - then what happened? animated gifs, videos, flash and boom it'll kill weak cores for breakfast.

Give the people the tool - and they WILL build something with it.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
What I get from that post is that a lot of games are poorly multi-threaded because it is the easier & cheaper way to write them. That doesn't mean they can't be written to use more threads, and games like battlefield 3 prove that modern games can effectively use 4 or more threads.

Well, I think the most important take-away from the post is that game development is a business. It's also good to keep in mind that the reason behind poor performance in certain environments could be due to a variety/combination of reasons. For example, maybe the development hardware and/or testing hardware was all Intel-based? Frankly, I bet the development hardware is Intel-based and probably purchased from Dell or HP. If they ran into the AMD performance problems late into development simply because they lacked a proper array of test hardware, it would come down to a business decision whether it was worth the money to fix it. Those bean counters don't like you threatening to take away their beans!
 

zephyrprime

Diamond Member
Feb 18, 2001
7,512
2
81
Is it a problem of laziness or have all the easily parallelizable bits been converted to multithreaded code already? Converting the more difficult portions won't give that much more performance.
Yes it will because MOST of the portions are difficult portions. Only a small percentage of the possible parallelism has been exploited thus far. The level of parallelism in most game code so far is rough hewn blocks of over arching functionality (and some driver stuff because drivers are third party), not lower level worker processes for every little computational task.

Let me tell you, debugging multithreaded code is a pain in the ass. You're talking about hugely more difficult than single threaded. You get all these crazy race conditions in the weirdest spots and all these deadlocks you'd never think could happen. The worst part is, the bugs are not easily reproduceable. They only occur when the time frames that things happen in line up wrong which only happen 1 in 10000 times. That's why programmers ignore the possibilities of multithreading for the most part and programs are still mostly single threaded.
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
Well, I think the most important take-away from the post is that game development is a business.

That is exactly why things will change.

Prior to these next-gen consoles, the developers had near-zero incentive to optimize for 4+ cores. It just made no sense to do it when the majority of customers wouldn't benefit at all.

Now, the situation is reversed. The majority of customers would benefit greatly from software optimized for 4-8 threads.

It may have made no economic sense to spend extra money to optimize for more threads in the past, but this is changing- thus the point of the thread.
 

ShintaiDK

Lifer
Apr 22, 2012
20,378
145
106
That is exactly why things will change.

Prior to these next-gen consoles, the developers had near-zero incentive to optimize for 4+ cores. It just made no sense to do it when the majority of customers wouldn't benefit at all.

Now, the situation is reversed. The majority of customers would benefit greatly from software optimized for 4-8 threads.

It may have made no economic sense to spend extra money to optimize for more threads in the past, but this is changing- thus the point of the thread.

What if the cost is simply too high? Just look at today. The only games that are somewhat threaded are essentially AAA titles or a few titles that fit more naturally with it.

The coders are not getting cheaper. And unless new tools comes to help offset it. then you either have to make more money, or to cut something else. Or simply do whatever threading is possible at x cost.

Not to mention the regular barries for threading in terms of reward.
 

USER8000

Golden Member
Jun 23, 2012
1,542
780
136
What if the cost is simply too high? Just look at today. The only games that are somewhat threaded are essentially AAA titles or a few titles that fit more naturally with it.

The coders are not getting cheaper. And unless new tools comes to help offset it. then you either have to make more money, or to cut something else. Or simply do whatever threading is possible at x cost.

Not to mention the regular barries for threading in terms of reward.

Or alternatively they make the game work well on BOTH consoles and PCs meaning much greater sales,by making the underlying game engine thread better,instead of just targetting the PC market only. Any increased cost is offset by higher overall sales,especially in the console market where games tend to cost more,and are more price stable in the first six months. If I was targetting the PC market only I would just make sure the game would be able to run decently even on a 2GHZ to 3GHZ Core2 Duo to maximise sales and/or users just like LoL.
 
Last edited:

maddie

Diamond Member
Jul 18, 2010
4,787
4,771
136
What if the cost is simply too high? Just look at today. The only games that are somewhat threaded are essentially AAA titles or a few titles that fit more naturally with it.

The coders are not getting cheaper. And unless new tools comes to help offset it. then you either have to make more money, or to cut something else. Or simply do whatever threading is possible at x cost.

Not to mention the regular barries for threading in terms of reward.
I thought that the new console specs were arrived at through consultations with many in the gaming industry.
Do you really think they would have asked for 8 cores if they felt as you claim?
 

Chiropteran

Diamond Member
Nov 14, 2003
9,811
110
106
What if the cost is simply too high? Just look at today.

I am looking at today. What I see are tons of titles optimized for consoles, which run okay on PC simply because the PC has brute force power even if the game is very poorly optimized (from the point of view of the PC).

Why do you assume that in the future, games won't be optimized for consoles?

It seems like an absurd point of view based on a long history of console games being optimized for consoles.
 

mrmt

Diamond Member
Aug 18, 2012
3,974
0
76
I thought that the new console specs were arrived at through consultations with many in the gaming industry.
Do you really think they would have asked for 8 cores if they felt as you claim?

I don't think they would have asked for something that would make programming harder like heavily multithreading. Sony and MS losses with hardware in the last round of consoles should have spoke louder than any developer. AMD's razor thin margins too.
 

Idontcare

Elite Member
Oct 10, 1999
21,118
59
91
I am looking at today. What I see are tons of titles optimized for consoles, which run okay on PC simply because the PC has brute force power even if the game is very poorly optimized (from the point of view of the PC).

Why do you assume that in the future, games won't be optimized for consoles?

It seems like an absurd point of view based on a long history of console games being optimized for consoles.

I have every expectation that games developed for the next gen consoles will be optimized for multi-threading.

Whether they get borked in the port to PC's remains to be seen. We've seen plenty examples of where a console port is gimped by the developer for whatever reason (presumably money).

What seems reasonable to get excited about here is that the industry, the game programming industry, is going to have little choice but to actually invest in itself and develop the very tools it needs for enabling easy(ier) development and verification of multi-threaded software. They need the equivalent of what compilers did to hand-assembly, albeit for enabling your average programmer to deal with multi-threading.

That support environment will be developed in the course of these early developers for the consoles finding out how to lower the cost of game development. And once the infrastructure is in place it will blossom and enable all manner of other sectors within the industry to embrace and adopt multi-threading in equal fashion. (just as compilers did)

So I am glad to see the industry reaching this tipping point. I personally see it being a decade long process before it becomes widespread SOP, but it has to start somewhere and the console market is perfectly sized (TAM-wise) to kickstart it and enable it to gain critical mass in short order.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |