@ Both of you
I understand that they allocate memory in chunks, however in the FS2020 example it is an extra 32%. That seems way too excessive to not be intentional.
Are they not able to dynamically change the memory allocation or do they have to allocate it all up front? I am assuming that it is dynamic (up to a certain point).
This extra memory that is allocated is their a perfomance hit if it cannot be allocated? for example with FS2020. Lets say you have two identical GPUs but one with 10GB of VRAM (enough for the 9.5GB that is used) and the other GPU with 13GB of VRAM (to hold the extra 3GB of bloat). Would these two GPUs have identical performance?
Do the engine engineers and the game devs not talk to each other. It seems to me that it would be in everyones best interest to ensure optimum performance of games (Ignoring the time and budget constraints). This sounds like an inefficient way to collaborate. I really hope that this isn't standard practise in the industry.
Why do you know this? Based on what?
Define playable? 60fps or 30fps?
While it will take more processing power to handle the extra data. How do you know that the reduction in frame rate from the increased demand on the GPU is greater than the reduction in frame rate from running out of VRAM?
The memory allocation is purely based on the developers implementation of the game engine, they're free to request more or less whatever they want from the GPU and driver stack and then have their own internal complex rules about how that memory is used. Yes you can dynamically scale up and down memory allocation based on demand but it's better that it's not done very frequently, mostly because other apps/processes can use vRAM and if you're designing a game engine that intends to use most of what is available you don't want to faff about increasing and decreasing allocated memory, there's a risk any memory is released could be assigned somewhere else. It also forces the GPU to do a bunch of memory management which is best done infrequently.
In the case of say 2 hypothetical identical GPUs one with 10Gb and one with 13Gb you'd find the performance is the same as long as the "bloat" is basically memory that has been allocated but not filled. 2 things can happen in that circumstance, the developers rules around memory allocation can simply notice there's less available vRAM on the 10Gb card and be more conservative about their allocation, so don't over provision as much. Or because we now have unified memory they can attempt to allocate that much memory anyway, and let the GPU itself handle swapping assets from disk to vRAM. As long as that over provisioned memory isn't filled with useful stuff, there's no performance penalty there either.
In most cases game engines are so sophisticated that a team of engineers work on them and often just licence the engine to game development studios who are mostly just artists who implement them tools. And memory management is kinda abstracted away from them, it's not as efficient in terms of possible performance but it means games are cheaper, not everyone needs to write their own engine. So for example an engine like unreal engine deals with memory allocation, and then provides mapping tools to devs to make use of that, and a mapper can add in transition/loading zones to areas in which new area loads in, with all the assets, while the old one is dumped out of memory. The devs don't deal with that process themselves it's just too complex, they just get a set of tools. The hardware/drivers/API/Engine/Game/design are all so complex these days you need massive amounts of abstraction to allow them to all work together seamlessly and that has performance implications.
"Playable" for me is really an average of 45fps minimum, that's pretty much an acceptable floor for performance and I don't think that's terribly out of the norm, most people like to have 60fps average if they can, there's almost always input/control issues in games below 45fps. 30fps on the PC is very much a no go for almost all gamers, that's way outside the expected frame rate for most gamers, I don't feel that's very controversial. These games I'm talking about being unplable are running at like 17fps or 24fps.
You can test the reduction in frame rate due to vRAM limitations by using other cards that have a lot more vRAM to begin with but similar GPU grunt, like a Titan RTX which also gets slayed in FS2020 @4kUltra. But also it's worth looking at frame averages. running out of vRAM causes stuttering as assets are swapped from disk to vRAM and back, they are short pauses where one single frame may take a second or so to load, but then FPS average after that will be close to normal. It's not like it's an across the board average frame rate drop, it's more a case of stuttering starts happening based on your movement through the game world and the assets being needed in different places. So you can normally tell which is happening.