• 0 Posts
  • 4 Comments
Joined 11 months ago
cake
Cake day: November 1st, 2023

help-circle

  • This raises some questions.

    1. What do you mean by “frame may not be available” for CPU? I assumed CPU creates frames. And then “CPU cannot use that frame”. Did you mean to say “frame buffer”?
    2. What do you mean by “frame’s resources”?
    3. Isn’t “the wall” render queue limit typically?
    4. I guess mailbox presentation mode is LIFO-queued triple buffering. What you described sound like CPU is filling frame buffers with some data that might or might not be later used by GPU, but I assumed it’s GPU that creates and fills frame buffers with data. Are you sure it has anything to do with CPU’s job?
    5. In unlocked framerate with no VSync scenario, when GPU is at 99% usage - in most games CPU usage reduces, as render queue is full. It, however, is not the case for some games, like NFS Undercover. How specifically does this process happen in such scenario, or what tells CPU to wait instead of drawing more frames?

  • The problem is that it’s not technically correct. GPU can’t bottleneck CPU because the pipeline goes one way. Nothing prevents CPU from drawing as much frames at it wants. What happens in the most game engines - the engine checks if GPU is ready to accept another frame, and if it’s not, it tells CPU to chill a bit, but not all games do that properly - i.e. in NFS Undercover rendering thread sticks to 100% at all times, at least did last time I checked. Saying “GPU bound” is more technically correct, as bottleneck implies that there is some other PC part down the pipeline, which isn’t the case for GPU - GPU is the last part. But I’m just being pedantic here; objectively - Battle(non)sense ineed does a great job at explaining things to people in simple terms.