Trailer

Thanks for making this. A word of advice for recording stuff in the future: you should make the window fill the whole video area. You can set a specific window size in ~/.config/flare/settings.txt (I use 1280x720 when recording). Then in OBS, right-click on the video source and select "Transform->Center to screen".

Interesting. From 480p to 600p, Flare doesn't scale its rendering, but above 600p it will start scaling up. When scaling up from such a low resolution, there's no doubt that things will get a bit blurry. For our graphic style, this generally doesn't look too bad. It's the text that stands out the most. It would be nice if we could do something like Unity and have the text render at the native resolution (would be really good for Asian languages with complex glyphs).

These attempt to scale an app to reflect the size of the actual display.

I use it on my 15" 1080p laptop as without it all the text is too tiny to read.

TrueType and other vector based stuff seems to scale fine, but I've noticed that bitmap based stuff gets scaled up with what looks like stock bilinear filtering which can definitely yeild blurry results.

There's actually some calls an app can make to tell windows what it's native size is so it can scale accordingly or not at all depending on what you tell it.

I have Windows scaling set to 100%, so I guess the issue here is that things get scaled above the native resolution of the images.

I have tried a few FLOSS SDL2 games with Windows scaling switched on just for testing, and the results were dire. I have no idea how to code SDL2 to let it detect what Windows is doing and to make sure that things get rendered on the pixels.

Yeah, I have the same issue with my SDL1 game engine. I googled around an found a pretty detailed MS article providing a way to do it, whether or not that way works with SDL (1 or 2), I can't say as I haven't gotten around to fiddling with it.

Interestingly, I recently linked GTK into my engine and I notice that as soon as I call 'Application.Init()'* all the window scaling stuff seems to turn off even for windows which I've opened through SDL. This happens whether the windows are opened before or after I call Application.Init(). Previously opened SDL windows which actually resize the moment the call is made. I am guessing GTK disables all the scaling stuff because it has it's own cross-platform scaling routines that it prefers to use instead.

So at the very least, there is definitely a way to it, and in the worst case one can always go spelunking in the GTK source to try and divine how it's done.

*I use C# and GTK# so subsitute Application.Init() for whatever your language likes to call the function (probable gtk_application_init() for C/C++)