There’s this one bug in BGE, that has been bothering me for a while. I don’t mind other bugs:p, as I’ve found reasonable workarounds. But this one is so essential, it even got me thinking of migrating into other engine. Here is the bug: When in fullscreen mode, the set resolution is either misused or ignored(desktop checkbox), with latter being the only way to avoid horrible stretching.
The intuitive behaviour would be, that the set resolution is used for framebuffer so it could be fit into the window in various(good looking) ways, with possibility to choose filtering(nearest,bilinear…). Window resizing(including fullscreen) should not change the set resolution, unless it’s specified(extend). This would allow performance improvement with smaller resolutions, while keeping the intimate immersion, that is only possible with fullscreen.
Of course the appearance of this could be faked easily with a 2d filter, but this needs even more processing, just to discard most of the render. Alternatively, this behaviour can be faked with renderToTexture, which I’ve successfully done. but there’s no huge performance improvement expected with this method either, because full-resolution rendering of an empty frame is inevitable. One would expect, that an empty frame has a negligible cost, but that’s not the case with huge display resolutions.
To me, setting a resolution of a game seems like a basic functionality to expect from a game engine, so this problem makes me doubt in BGE, although, in other aspects, I’m quite pleased with it. I’ve been experimenting with BGE for few years now, and I’ve certainly started to care about it. I would prefer, if this gets fixed in vanilla BGE, but at this point, it seems unlikely. Luckily there’s hope in UPBGE, to which I’m willing to migrate. I’m yet to learn necessary C++, to help with coding, so for now, if there’s anyone capable of fixing this, please consider doing this. Or maybe suggest some other soulution.
Any thoughts are welcome really.
These are the settings, that need to be thought about: