Low-quality fullscreen scaling isn't resolution independent?

0 favourites
  • 13 posts
  • Hey all,

    I'm putting this here instead of in the Bugs section because the issue may just be that I misunderstand how the 'low quality' fullscreen scaling option works.

    Basically, 'low quality' fullscreen scaling is supposed to render the game at a specific size, then stretch it up to the window size. This has the side effect of the game looking blurry if the screen is too big, however it's very necessary if the game is bottlenecked by GPU fillrate.

    Now, my expectation is that, once low quality fullscreen scaling is set, the actual window size should have no effect on performance. However, recently I've been noticing that the opposite is true - having a bigger window size is more costly, even when low quality fullscreen scaling is on.

    This happens in all browers I tested - Chrome, Canary, Node-Webkit, Internet Explorer, and Firefox.

    I've attached a capx so you can test it for yourself. Instructions are included in the event sheet.

    I really, really hope this is a bug, but I can't be sure. Am I just fundamentally misunderstanding something here? Or is there really a problem with C2's implementation of low quality fullscreen scaling?

  • Can confirm your findings - I had noticed this as well, but hadn't really tested properly. In my case it's a 10fps drop with this test.

    It feels like the whole thing is somehow additionally rendered to a texture which is then stretched out, instead of stretching out the initial canvas. Perhaps it was hallucinations but I feel like in some extreme cases something like compression artefacts has been seen (could be vid card specific, could be the assets, though).

    Hopefully we can get an explanation of how this works and which approach is better (although for my current projects I simply need the low quality so pixels are rendered 1:1). This is, of course, also important for shaders that use pixel values instead of percentages.

  • I noticed the same problem, but in my case the fps drop wasn't immediate after scaling back up. It took about four seconds before it started to waiver and then dropped right down.

  • Yeah, I noticed about a 10fps drop, but if I increased the number of fullscreen objects the drop was even more noticeable.

  • Either I misunderstand your events or they are wrong. You appear to have two modes:

    1) a canvas the size of the window with low quality fullscreen mode. Since the canvas is the size of the window, it won't stretch the display, so low quality fullscreen mode has no effect, it's the same as rendering at full resolution.

    2) a canvas smaller than the window, with high quality fullscreen mode. This is the same as rendering at full resolution.

    So both ways render at the same size with identical GPU loads.

  • Im testing this too with crosswalk for android, and i noticed that in low quality fullscreen mode get less fps and less quality. I think im doing something wrong.

    The device screen is 1280 x 720, and the project size is 1280 x 720 too. Should not be differences from switching low/high in the same resolution i think. But in another device with 1920 x 1080, the fps drops with low quality too.

    Low quality is supposed to render first in 1280 x 720, and then upscales? And in high quality first scale to 1920 x 1080 and then render? In theory high quality must be slower than low quality, but not happens.

    I dont know if the High Dpi mode on has something to do.

    Sorry for my english and the high low high low high low

  • Ashley I think you're misunderstanding the events. You're supposed to first shrink the window (it starts at high quality, but it doesn't matter), then 'lock' the canvas size once you start getting consistent 60fps. Then, you *should* be able to enlarge the window without any negative performance implications.

    So it's not 1. or 2. in your options, but rather, a canvas smaller than the window, with low quality fullscreen mode, as you'd expect.

    I'll copy in the instructions from the capx:


    1. Manually enlarge the window (or increase the number of PerformanceKillers spawned) until the fps is 'NOT OK'.

    2. Shrink the window until the FPS is consistently 'OK' (60fps).

    3. Press 'Set Canvas Size' which will make the current WINDOW size the new CANVAS size, and will also set LOW QUALITY fullscreen scaling to ON.

    4. Increase the WINDOW SIZE as far as you can. This should have NO EFFECT on performance, but in all my tests results in a serious FPS drop.

    Mamajuano from your description it seems like you might be seeing a problem similar to this one, or it could also be a mistake in your events. Hard to say.

  • I can see a difference, seems to lose about ~10fps when re-maximizing the window after using 'Set Canvas Size', dropping to around 48fps from 60. It doesn't seem like merely scaling up the game canvas should have that much of an impact.

    Not the same as high quality at all: high qual only gives me about 12fps.

    BTW, thanks for sharing this capx sqiddster, could be easily adapted to a pre-game function that sets the the internal rez depending on the test device's fillrate. Handy.

    Ashley must have not looked at the capx yet.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • *BUMP*

  • Bump again. I emailed Ashley about this but it's quite possible he missed the email.

    This is a super critical issue for me, and anyone struggling with fillrate issues.

  • Hmm, did you take the capx down? I'd like to take a look..

  • ErekT Oh, sorry, I did. I'll attach it or reupload it.

    EDIT: NVM, I thought it might have been a dropbox link, but in fact it had been attached. Looks like the Scirra website has had trouble with attachments lately, I hope they aren't gone forever.

  • Bump. I wish this to be fixed. I am about to start and IGG campaign for the sequel of Antumbra and I really don't want to discover I am screwed - in the middle of developing. So I have to know the status. Because if this wont get fixed I will have to switch to UE4. I cannot risk my life project because of an issue that "might or might not" get fixed.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)