Lag below 60FPS?

Discussion and feedback on Construct 2

Post » Tue Jun 10, 2014 12:08 pm

Hello,

is it normal that a game lags for every framerate below stable 60 FPS?

When I play normal PC games, everything above 30FPS is fluent, but with my created game, it starts to stutter with 58 FPS and 45FPS feels like 15FPS.

Am I doing something wrong? I want to create a mobile game and Ashley posted an updated new manual today with performance tips: https://www.scirra.com/manual/134/performance-tips

and I quote: "You should aim to design simpler games to match the lower power of mobile devices, and have lower expectations of framerate (30 FPS is a good target for mobile)."

So can someone please help me and advise, how I make a mobile game run on 30-60FPS without the stuttering below stable 60FPS?

Thank you =)
Free Android game: https://play.google.com/store/apps/deta ... VSMrMonkey

"Seven Birds VS Mr. Monkey" is a simple yet fun game.

Mr. Monkey is being attacked by birds and without a way to escape all hope seems lost. But if you think Mr. Monkey goes down that easily you are mistaken!

Help Mr. Monkey to upgrade his skills, get special attacks and show these birds who's the boss!
B
9
S
1
G
1
Posts: 51
Reputation: 755

Post » Tue Jun 10, 2014 12:23 pm

Short answer: you won't get rid of the stutter completely, if you drop below 60fps. Currently there's no way (to my knowledge) to make a construct2 game feel smooth as soon as you drop below the magic mark.

What people usually do is adjust their expectations and make games for mobile where the stutter is less disturbing (for example, smooth, slow, horizontal scrolls are super critical).
B
75
S
28
G
32
Posts: 480
Reputation: 19,711

Post » Tue Jun 10, 2014 12:40 pm

are you using pixel rounding to "on" and sampling to point?
try "off" and sampling to linear.
maybe this can help a bit.
B
15
S
6
G
4
Posts: 277
Reputation: 3,948

Post » Tue Jun 10, 2014 12:46 pm

This is definitely something I've noticed - Currently IMO a C2 game is pretty much unplayable at <60fps. I don't know what this is, but I suspect it's a combination of stuttering and maybe even some input lag?
B
92
S
31
G
24
Posts: 3,191
Reputation: 32,679

Post » Tue Jun 10, 2014 1:02 pm

Trust me, 45 FPS does not feel like 15 FPS - 45 FPS should be playable but 15 FPS is awful quit-the-game bad. 45 FPS is obviously not as bad as 15 FPS but probably looks bad because the frames are irregularly updating. Since the screen updates at 60 Hz, a game drawing at 45 FPS will be drawing a frame every 1.5 screen refreshes, causing an ugly pattern like: draw, skip, draw, draw, skip, draw, skip, draw, draw, skip. On the other hand 15 FPS would be draw, skip, skip, skip, draw, skip, skip skip, draw...

Irregular frames don't look great but provides a less laggy gameplay since you are getting more frames and can respond more quickly to gameplay events. We previously had an experimental feature to drop the framerate to a regular 30 FPS, but it didn't seem possible to implement reliably (it still had ugly irregular framerates and worked differently on different browsers) so we gave up on it.
Scirra Founder
B
395
S
232
G
88
Posts: 24,371
Reputation: 193,762

Post » Tue Jun 10, 2014 1:25 pm

@Ashley : I think the actual problem is that the variation of framerate over time is more painful that a small amount of fps (it breaks consistency of how the controls should feel)

I think it is still a big problem (not only for that particular reason, but mostly), as for a solution, I do not know if it is possible to take in account the time to refresh the screen rather than basing ourselves on the vertical sync (this would be off by default of course, only to be enabled in cases the device just cannot be playable the normal way anyway)

Once again I don't know everything related to how browsers and C2 works so I cannot tell if I am looking in the right direction or not.
Game design is all about decomposing the core of your game so it becomes simple instructions.
B
53
S
22
G
18
Posts: 2,122
Reputation: 17,123

Post » Tue Jun 10, 2014 1:50 pm

Frame latency. PC games suffer from it too.

Some users are more sensitive to it, often referred to as "micro-stutter" because thats exactly what it is, when frames come at irregular intervals and not 16ms.
B
70
S
24
G
19
Posts: 1,757
Reputation: 17,614

Post » Wed Jun 11, 2014 2:08 am

Where possible I've started cramming all my controllable logic into an Every 0.033 tick. I generally create a "kernal" where the 0.033 tick will then just call functions that refer to the wanted code.

This has helped a lot for more intensive math on mobile devices. Also Lunaray made a modified LiteTween which uses an update function. I often noticed intensive trig go from 15fps to 60fps. However I don't have control over any behaviors like platformed. If we can't good control on FPS what about LPS?
B
90
S
18
G
9
Posts: 2,455
Reputation: 15,018

Post » Wed Jun 11, 2014 8:55 am

@rexrainbow created a neat plugin that i think went largely unnoticed, https://www.scirra.com/forum/viewtopic.php?f=153&t=80616 "event balancer" which can split logic up so its not all run at the same time to speed up fps. Haven't tried it yet myself but may help you?
B
43
S
23
G
20
Posts: 735
Reputation: 12,027


Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 8 guests