How are games optimized for specific CPU's? (f.e. Ryzen)

Things that are not directly connected with Factorio.
Post Reply
RaviorMetal
Inserter
Inserter
Posts: 31
Joined: Sat Aug 09, 2014 9:05 pm
Contact:

How are games optimized for specific CPU's? (f.e. Ryzen)

Post by RaviorMetal »

Hello,

I want to ask this here, since theres really much technical talk here and I know for sure that the devs of factorio are real cracks in topics like this.

The new CPU's by AMD, Ryzen, came out this week. In the technical news I read that people are complaining about them a little since theyve seen good benchmark results from these cpus. Now they see that they don't behave that well (compared to Intel's newer i7 CPU's) in games in Resolutions like 720p or even 1080p. AMD Responded to this, saying that games are not optimized for these new CPU's.

As a Softwaredeveloper myself, I'm really interested in this. How do you actually optimize games for specific CPU's? Isnt the CPU considered to be used as a blackbox like most hardware nowadays? When you develop general software, you don't consider a cpu to be of one kind or another. Its like simply given that you command the cpu to run commands and thats all.

I would really love to get a little technical insight on how I should imagine optimization of a game for a certain CPU.

Greetings,

Ravior

User avatar
Adil
Filter Inserter
Filter Inserter
Posts: 945
Joined: Fri Aug 15, 2014 8:36 pm
Contact:

Re: How are games optimized for specific CPU's? (f.e. Ryzen)

Post by Adil »

Well, you can't just admit you've shoved a piece of shite to customers. You make some evasive unverifiable statement to explain why people don't get what they've expected. Preferably in such statement you don't give any concrete names or direct accusations.
That's exactly what you have here.

As for AMD and benchmarks, AMD is known to compensate the quality of a processor core with the numbers they come in. It is a safe bet that in any price range the amd processor comes with twice as much cores as intel one.
Having many cores is obviously good for multithreaded tasks.
And quite a bit of benchmarks are mutithreaded. Moreover, some of them, for example those with FFT or compression algorithms, or videos, etc... may even be split into threads ahead of time.
So in those, multitude of cores comes in handy.

Most algorithms of the consumer grade programs (games mostly), on the other hand, are quite often too entangled to be split into concurrent tasks in a way that would bring a notable speedup. Hence most of them only use single thread of all available.
There's also been a detailed discussion of multithreading in this thread.. The wall of text there is worthy of a scientific symposium on computer architecture, but if you look up posts by factorio staff, those are really on topic.

That's my bet on amd failures.

As for optimizing a program for a CPU, this does happen, when you're going full out.
There are proprietary libraries written with intimate knowledge of the underlying architecture.
There are also, tricks, that allow a program to generate less work for the machine on a particular architecture.
This for example is easily googlabe from intel:
http://www.intel.com/content/www/us/en/ ... anual.html
Guess there might be found something similar for AMD.
This doesn't often happens in game development (notorious game engines do that however).
I do mods. Modding wiki is friend, it teaches how to mod. Api docs is friend too...
I also update mods, some of them even work.
Recently I did a mod tutorial.

Yoyobuae
Filter Inserter
Filter Inserter
Posts: 499
Joined: Fri Nov 04, 2016 11:04 pm
Contact:

Re: How are games optimized for specific CPU's? (f.e. Ryzen)

Post by Yoyobuae »

Isn't that a job for the compiler? Well maybe stuff like memory locality, cache optimization and such. But those are generic in nature.

I guess that game developers don't really do such optimizations as one of their goals. But if they are highly successful (like for example a popular game engine) then they might be approached by the manufacturers offering libraries and such to make the engine more optimized for their specific CPU. ;)

aober93
Filter Inserter
Filter Inserter
Posts: 453
Joined: Tue Aug 30, 2016 9:07 pm
Contact:

Re: How are games optimized for specific CPU's? (f.e. Ryzen)

Post by aober93 »

"AMD Responded to this, saying that games are not optimized for these new CPU's."

AMD never said that. Whatever they said applied to the platform and every aspect of it. And knowing how to optimize isnt done in a quick explanation, you need at least some basic understanding of programming.

RaviorMetal
Inserter
Inserter
Posts: 31
Joined: Sat Aug 09, 2014 9:05 pm
Contact:

Re: How are games optimized for specific CPU's? (f.e. Ryzen)

Post by RaviorMetal »

aober93 wrote:"AMD Responded to this, saying that games are not optimized for these new CPU's."

AMD never said that. Whatever they said applied to the platform and every aspect of it. And knowing how to optimize isnt done in a quick explanation, you need at least some basic understanding of programming.
Hello there, and thank you for your rather unfriendly reply.

As I've stated, I'm a developer myself. So I think I have at least some basic understanding of programming.
Please go ahead and explain it if you can.

Post Reply

Return to “Off topic”