Originally Posted by computerparts
I would not think that to be the case seeing how I have had discussions about the subject with developers in the past. If I misinterpreted something then I would like to think they would have pointed it out and corrected me during the discussions. I give up on masta squid or whatever because he takes on an arrogant tone as if he knows everything. So if anyone one with experience in developing 3d games and knows what draw calls are would like to point out a possible misinterpretation on my part, feel free.
When you run a game, the CPU is the primary chip responsible for reading information from the RAM and hard drives, and running the software, any software for that matter; hopefully we can agree on this. The primary responsibility of the GPU is to render images based on the information it receives from the CPU. If the CPU says "Display perfect square", then the GPU goes about the process of calculating how best to display a perfect square, and then sends the completed information to the appropriate display, showing a perfect square on your monitor. (All hypothetical obviously, computers don't speak English.)
Now, when you shoot a gun (virtually), the CPU understands that clicking the mouse is an indication that "weapon fire" should begin taking place. The CPU deals with game information like damage, position, aim and other core game information. However the CPU also needs to send information to other devices to handle the remaining information; primarily audio and video. Now if there is no dedicated audio processor, the CPU will render all of the audio itself. If there is a dedicated audio processor, it begins feeding digital information about what sound files need to be played to the audio processor, which then decodes the information and sends it out the proper line. In this case the CPU isn't directly rendering the sound, but it is directly telling the audio processor what sound it
should be rendering.
Similar to the audio processing is the video processing. The CPU will send digital information to the appropriate graphics processor; which could be an integrated graphics chip on the CPU, a chipset based graphics processor, or a dedicated card entirely. The CPU will be sending information such as what assets need to be displayed, where are they, how many are there, what post-processing effects need to be applied the image, etc. You get the idea. The GPU then, using this information, begins to build a frame
. What it does during this stage is build exactly what the CPU just told it to. The CPU is saved tons of work but only knowing what
is displayed, not how
to render it; which is obviously the strength of the GPU with its hundreds of parallel processing cores.
You and Masta got into too much of an argument and I can see you guys weren't on the same page. The CPU doesn't literally render the image, compress it, and then just have the GPU extract and display it. The CPU just tells the GPU "There is a box over there" and the GPU then responds by rendering a box in that position with all of the appropriate textures, shaders and other effects.
Back to the point, by reducing the resolution a lot you are for all intents and purposes, making the GPU appear infinitely powerful to the CPU; the GPU can render everything faster than the CPU can send it (keeping in mind the CPU still needs to deal with core game information, as well as communicate with audio processors, RAM, drives and input devices). This is when you reach a CPU bottleneck
. However, by increasing the resolution, the CPU can presumably send information faster than the GPU can render it, causing a GPU bottleneck
By reducing the resolution, you can determine the fastest rate the CPU can send information to the GPU. This maximum rate of information will be directly proportional to the maximum computational speed of the CPU (theoretically, assuming a flawlessly multi-threaded application). This is why powerful processors are important in SLI/CFX configurations. By adding a second GPU, you not only increase the total amount of GPU processing power, but you increase the amount of GPUs that the CPU must communicate with (this is also why the SLI/CFX bridges are required; to allow the GPUs to communicate with each other, instead of having to communicate through the CPU).
That being said I know absolutely nothing about software or programming, and could be totally off my rocker here.Edited by MightEMatt - 7/19/13 at 12:56pm