Jump to content

I understand that there is a set of instructions your CPU has to run before it "tells" your GPU to render an image. To my understanding if a processor is bottlenecking a graphics card, it is because it isn't completing instructions to ask your GPU to render images fast enough. Does this sound close? can anyone maybe provide a more in depth explanation 

Link to comment
https://linustechtips.com/topic/749497-gpu-being-bottlenecked-by-cpu/
Share on other sites

Link to post
Share on other sites

3 minutes ago, Doomerson said:

I understand that there is a set of instructions your CPU has to run before it "tells" your GPU to render an image. To my understanding if a processor is bottlenecking a graphics card, it is because it isn't completing instructions to ask your GPU to render images fast enough. Does this sound close? can anyone maybe provide a more in depth explanation 

 

A8-7600 {} Gigabyte FM2+ Board {} CX430 {} Corsair Vengeance LP 8gb {} MSI GTX 760 2GB {}

 

Console.WriteLine("C# is aids");

 

Link to post
Share on other sites

Close enough. Essentially, the CPU tells the GPU what to render.  A solid analogy would be if the GPU was a chef and the CPU was a waiter. The waiter tells the chef to "make pie", and then the chef makes Pie. A bottleneck would be if the waiter was a snail so that by the time the chef makes the pie it's still taking the next order.

 

Since I am to lazy to put something interesting here, I will put everything, but slightly abbreviated. Here is everything:

 

42

 

also, some questions to make you wonder about life:

 

What is I and who is me? Who is you? Which armrest in the movie theatre is yours?

 

also,

 

Welcome to the internet, I will be your guide. Or something.

 

 

My build:

CPU: Intel Core i5-7400 3.0GHz Quad-Core Processor,

 Motherboard: ASRock B250M Pro4 Micro ATX LGA1151 Motherboard, 

Memory: Corsair 8GB (1 x 8GB) DDR4-2133 Memory,

Storage: Seagate Barracuda 1TB 3.5" 7200RPM Internal Hard Drive, 

Video Card: MSI Radeon RX 480 4GB ARMOR OC Video Card, 

Case: Corsair 100R ATX Mid Tower Case , 

Power Supply: Corsair CXM 450W 80+ Bronze Certified Semi-Modular ATX Power Supply, 

Operating System: Microsoft Windows 10 Home Full, 

Wireless Network Adapter: TP-Link TL-WN725N USB 2.0 802.11b/g/n Wi-Fi Adapter, Case Fan: Corsair Air Series White 2 pack 52.2 CFM  120mm Fan

 

ou do not ask why, you ask why not -me

 

Remeber kinds, the only differ between screwing around and scince is writing it down. -Adam Savage.

 

Only two things are infinite: the universe and human stupidity, and I'm not even sure of the former. - Albert Einstein.

Link to post
Share on other sites

4 hours ago, King_of_Oz said:

Close enough. Essentially, the CPU tells the GPU what to render.  A solid analogy would be if the GPU was a chef and the CPU was a waiter. The waiter tells the chef to "make pie", and then the chef makes Pie. A bottleneck would be if the waiter was a snail so that by the time the chef makes the pie it's still taking the next order.

perfect analogy honestly, I understand because I've done a fair amount of restaurant work

Link to post
Share on other sites

I have a bit of a theory on this.

 

All games run in a constant loop that has a soft real-time requirement. This means that the software should complete its tasks within a given time frame, but can run with degraded performance if it does not. However, it will not run the task again if it's within the time frame. So let's say we have a game that has a requirement that all tasks must be done in 16.667ms. If it makes that time frame, great, but it's not going to process anything until the next 16.667ms tick. If it doesn't make that time frame, then it's going to use another 16.667ms period to complete the job. 

 

It's likely after the game is done with its logic, it starts sending command lists to the GPU for 3D rendering. And if the CPU still has nothing more to do with the game, it sends another set of command lists to the GPU.

 

The reason why there would be a limitation on this I would argue is for the following:

  • In a multiplayer situation, it's unfair for one player with more processing power to do more things (that may or may not be beneficial anyway) than another player, even though both players easily met the hardware requirements.
  • It may be impractical to the let games run as much as they want on the CPU. If, for example, your CPU can run the main Half-Life 2 loop in less than 0.05ms, that's great, but this is beyond the comprehension of humans who won't notice any difference between the twenty iterations that went on in a millisecond.

So basically what this means is how much free time the CPU has after it's done doing the game logic is how much headroom you have for frame rate performance.

Link to post
Share on other sites

13 hours ago, M.Yurizaki said:

I have a bit of a theory on this.

 

All games run in a constant loop that has a soft real-time requirement. This means that the software should complete its tasks within a given time frame, but can run with degraded performance if it does not. However, it will not run the task again if it's within the time frame. So let's say we have a game that has a requirement that all tasks must be done in 16.667ms. If it makes that time frame, great, but it's not going to process anything until the next 16.667ms tick. If it doesn't make that time frame, then it's going to use another 16.667ms period to complete the job. 

 

It's likely after the game is done with its logic, it starts sending command lists to the GPU for 3D rendering. And if the CPU still has nothing more to do with the game, it sends another set of command lists to the GPU.

 

The reason why there would be a limitation on this I would argue is for the following:

  • In a multiplayer situation, it's unfair for one player with more processing power to do more things (that may or may not be beneficial anyway) than another player, even though both players easily met the hardware requirements.
  • It may be impractical to the let games run as much as they want on the CPU. If, for example, your CPU can run the main Half-Life 2 loop in less than 0.05ms, that's great, but this is beyond the comprehension of humans who won't notice any difference between the twenty iterations that went on in a millisecond.

So basically what this means is how much free time the CPU has after it's done doing the game logic is how much headroom you have for frame rate performance.

I am a game developer, and I am here to tell you that that is somewhat true.

 

Most games have what is called a "Start() method", which is a set of code that is called once per frame. Therefore if your game runs at a low FPS, the Start() method will be called less frequently, and therefore less preformance. It does not, however, matter what time frame the start() method is called.

 

 

If you want to read some nitty-gritty on the subject, I have provided a link to the Unity Game Engine documentation below:

 

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html

 

Since I am to lazy to put something interesting here, I will put everything, but slightly abbreviated. Here is everything:

 

42

 

also, some questions to make you wonder about life:

 

What is I and who is me? Who is you? Which armrest in the movie theatre is yours?

 

also,

 

Welcome to the internet, I will be your guide. Or something.

 

 

My build:

CPU: Intel Core i5-7400 3.0GHz Quad-Core Processor,

 Motherboard: ASRock B250M Pro4 Micro ATX LGA1151 Motherboard, 

Memory: Corsair 8GB (1 x 8GB) DDR4-2133 Memory,

Storage: Seagate Barracuda 1TB 3.5" 7200RPM Internal Hard Drive, 

Video Card: MSI Radeon RX 480 4GB ARMOR OC Video Card, 

Case: Corsair 100R ATX Mid Tower Case , 

Power Supply: Corsair CXM 450W 80+ Bronze Certified Semi-Modular ATX Power Supply, 

Operating System: Microsoft Windows 10 Home Full, 

Wireless Network Adapter: TP-Link TL-WN725N USB 2.0 802.11b/g/n Wi-Fi Adapter, Case Fan: Corsair Air Series White 2 pack 52.2 CFM  120mm Fan

 

ou do not ask why, you ask why not -me

 

Remeber kinds, the only differ between screwing around and scince is writing it down. -Adam Savage.

 

Only two things are infinite: the universe and human stupidity, and I'm not even sure of the former. - Albert Einstein.

Link to post
Share on other sites

On 2017-03-09 at 8:20 AM, King_of_Oz said:

I am a game developer, and I am here to tell you that that is somewhat true.

 

Most games have what is called a "Start() method", which is a set of code that is called once per frame. Therefore if your game runs at a low FPS, the Start() method will be called less frequently, and therefore less preformance. It does not, however, matter what time frame the start() method is called.

 

 

If you want to read some nitty-gritty on the subject, I have provided a link to the Unity Game Engine documentation below:

 

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html

Oh, dear. I am an idiot. I just realized that what I told you is wrong. It's called an  "Update() method" not start. That unity documentation page is the wrong one. Here is the correct one:

 

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Update.html

 

Since I am to lazy to put something interesting here, I will put everything, but slightly abbreviated. Here is everything:

 

42

 

also, some questions to make you wonder about life:

 

What is I and who is me? Who is you? Which armrest in the movie theatre is yours?

 

also,

 

Welcome to the internet, I will be your guide. Or something.

 

 

My build:

CPU: Intel Core i5-7400 3.0GHz Quad-Core Processor,

 Motherboard: ASRock B250M Pro4 Micro ATX LGA1151 Motherboard, 

Memory: Corsair 8GB (1 x 8GB) DDR4-2133 Memory,

Storage: Seagate Barracuda 1TB 3.5" 7200RPM Internal Hard Drive, 

Video Card: MSI Radeon RX 480 4GB ARMOR OC Video Card, 

Case: Corsair 100R ATX Mid Tower Case , 

Power Supply: Corsair CXM 450W 80+ Bronze Certified Semi-Modular ATX Power Supply, 

Operating System: Microsoft Windows 10 Home Full, 

Wireless Network Adapter: TP-Link TL-WN725N USB 2.0 802.11b/g/n Wi-Fi Adapter, Case Fan: Corsair Air Series White 2 pack 52.2 CFM  120mm Fan

 

ou do not ask why, you ask why not -me

 

Remeber kinds, the only differ between screwing around and scince is writing it down. -Adam Savage.

 

Only two things are infinite: the universe and human stupidity, and I'm not even sure of the former. - Albert Einstein.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×