Low-quality fullscreen scaling isn't resolution independent?

Discussion and feedback on Construct 2

Post » Sat Jan 31, 2015 4:57 am

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?
You do not have the required permissions to view the files attached to this post.
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Post » Sat Jan 31, 2015 8:29 am

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.
B
19
S
6
G
6
Posts: 1,101
Reputation: 5,646

Post » Sat Jan 31, 2015 8:52 am

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.
B
57
S
15
G
11
Posts: 912
Reputation: 12,606

Post » Sat Jan 31, 2015 9:59 am

Yeah, I noticed about a 10fps drop, but if I increased the number of fullscreen objects the drop was even more noticeable.
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Post » Sat Jan 31, 2015 2:36 pm

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.
Scirra Founder
B
395
S
232
G
88
Posts: 24,371
Reputation: 193,772

Post » Sat Jan 31, 2015 5:52 pm

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 :oops:
B
22
S
5
G
1
Posts: 28
Reputation: 1,706

Post » Sat Jan 31, 2015 10:07 pm

@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:

INSTRUCTIONS:

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.
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Post » Sat Jan 31, 2015 10:21 pm

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.
Don't lose your work. Backup your game with Dropbox.
B
44
S
10
G
10
Posts: 1,106
Reputation: 9,202

Post » Thu Feb 05, 2015 8:39 pm

*BUMP*
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Post » Wed Feb 25, 2015 5:09 am

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.
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 31 guests