Low FPS in C2 games is more crippling than it should be?

  • Everyone else, I've attached an updated lag test that you can use to test on your own machines. Bonus points for attaching to your games ( Aurel I'm looking at you )

    Alright, will do tomorrow and see what happens!

  • So, here are the results with the test made by sqiddster attached to Penelope. I'm amazed how much you can feel the difference!

    GPU log: https://www.dropbox.com/s/2sgic4qi399t2 ... 0.txt?dl=0

    30 FPS with GPU lag: the game is not enjoyable at all.

    dt: 0.03299 | FPS: 30
    dt: 0.05099 | FPS: 30
    dt: 0.013 | FPS: 30
    dt: 0.03099 | FPS: 30
    dt: 0.036 | FPS: 30
    dt: 0.02799 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03599 | FPS: 30
    dt: 0.035 | FPS: 30
    dt: 0.089 | FPS: 28
    dt: 0.02199 | FPS: 28
    dt: 0.01 | FPS: 28
    [/code:2rpxni1i]
    
    CPU log: [url=https://www.dropbox.com/s/z61jrzfgn08cvj6/dtLogCPU30.txt?dl=0]https://www.dropbox.com/s/z61jrzfgn08cv ... 0.txt?dl=0[/url]
    30 FPS with [b]CPU lag: as expected, the game is fully playable.[/b]
    
    [code:2rpxni1i]dt: 0.036 | FPS: 29
    dt: 0.03599 | FPS: 29
    dt: 0.04 | FPS: 29
    dt: 0.03499 | FPS: 29
    dt: 0.036 | FPS: 29
    dt: 0.03799 | FPS: 29
    dt: 0.038 | FPS: 29
    dt: 0.03499 | FPS: 29
    dt: 0.036 | FPS: 29
    dt: 0.03599 | FPS: 29
    dt: 0.04 | FPS: 28
    [/code:2rpxni1i]
  • I ran it in my Hungry Hal game which isn't a big game, but has lots of graphics. It seemed to run fine in both cases in NW, so no sure how helpful this will be. My game just might not be big enough to have the issues.

    CPU LAG:

    dt: 0.03399 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03599 | FPS: 30
    dt: 0.035 | FPS: 30
    dt: 0.03499 | FPS: 30
    dt: 0.035 | FPS: 30
    [/code:3bqpszag]
    
    GPU LAG:
    [code:3bqpszag]dt: 0.03399 | FPS: 29
    dt: 0.033 | FPS: 29
    dt: 0.033 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.033 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.03299 | FPS: 29
    dt: 0.033 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.035 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.03299 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.033 | FPS: 29
    dt: 0.03399 | FPS: 29
    dt: 0.033 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.033 | FPS: 30
    dt: 0.03299 | FPS: 30
    dt: 0.034 | FPS: 30
    dt: 0.03299 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.039 | FPS: 30
    dt: 0.03399 | FPS: 30
    [/code:3bqpszag]
  • Whoa, Aurel's dt log is even worse than mine! 0.89 to 0.01? Madness!

    So, at least I'm glad that there's a real issue, and it's not just all in my head!

  • Aurel: do your game use a varying timescale? Since dt I think changes with the timescale too (I agree there is a problem, it is just thta the difference seems huge)

  • Yes, the game has a varying timescale for slowdown effects.

    That said, I made sure to not trigger one of these slowdown effects during this test. Maybe it has been triggered for a few frames and I couldn't notice it?

    I can desactivate this effect and run the test again if it seems unreal to you. Or even give my sources to Ashley if needed, no problem.

    But even without the stats, you can see very clearly how the game plays very well at "real" 30FPS, and how the game is ugly during GPU lags.

  • Aurel didn't you say that you had some events that reduced timescale to 0.8 when below a certain fps? Maybe that's impacting it a bit?

  • I'm pretty sure I disabled this thing before running the test. If something is shady, that could be a slowdown special effect triggered without me noticing it.

    I'll run the test again with absolutely all events related to timescale disabled, so we can be sure the results are clean.

    EDIT: oh, and I'll try on 2 very different PC, too. Maybe the hardware could have an impact on the test.

  • Yeah, I notice bad performance particularly on integrated graphics, but that's probably just because they are weaker in general.

  • Alright, full results. Featuring a serious methodology this time.

    - All events related to timescale have been deleted (100% sure!)

    • I made the same actions in the same level in the game. This is not a very demanding part of the game, this was made on the very first race.
    • I tested on a strong gaming PC, and on a regular laptop. Both have a dedicated graphic card and can play recent 2D or 3D games, the first one with all graphic settings to max, the second one with all settings to medium/low. (I can provide the full specs if needed)

    - the regular laptop has only one graphic card, so there's no matter of dual drivers.

    • Both computers can run the game at 60fps if no artifical lag applied, even if the classic laptop can make the game drop to 55fps from time to time.

    A >>>>>> "The Next Penelope" on the powerful computer, featuring a killer graphic card:

    CPU Lag: (no problemo)

    dt: 0.036 | FPS: 31
    dt: 0.037 | FPS: 31
    dt: 0.036 | FPS: 31
    dt: 0.03799 | FPS: 31
    dt: 0.03499 | FPS: 31
    dt: 0.03499 | FPS: 27
    dt: 0.035 | FPS: 27
    dt: 0.06599 | FPS: 27
    dt: 0.03499 | FPS: 27
    dt: 0.037 | FPS: 27
    dt: 0.03399 | FPS: 27
    dt: 0.03499 | FPS: 27
    [/code:16jwcij8]
    
    GPU Lag: (no problemo)
    [code:16jwcij8]
    dt: 0.03399 | FPS: 33
    dt: 0.033 | FPS: 33
    dt: 0.02199 | FPS: 33
    dt: 0.03 | FPS: 33
    dt: 0.03099 | FPS: 33
    dt: 0.034 | FPS: 33
    dt: 0.02799 | FPS: 33
    dt: 0.03 | FPS: 33
    dt: 0.033 | FPS: 33
    dt: 0.03399 | FPS: 33
    [/code:16jwcij8]
    
    [b]B >>>>>> "The Next Penelope" on the classic laptop, featuring a standard graphic card:[/b]
    
    CPU Lag: (no problemo)
    [code:16jwcij8]dt: 0.03099 | FPS: 30
    dt: 0.03299 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.039 | FPS: 30
    dt: 0.04699 | FPS: 30
    dt: 0.037 | FPS: 30
    dt: 0.038 | FPS: 30
    dt: 0.03899 | FPS: 30
    dt: 0.04599 | FPS: 30
    dt: 0.037 | FPS: 30
    dt: 0.038 | FPS: 30
    dt: 0.03299 | FPS: 30
    [/code:16jwcij8]
    
    GPU Lag: Problemo!
    [code:16jwcij8]
    dt: 0.03399 | FPS: 30
    dt: 0.03399 | FPS: 30
    dt: 0.059 | FPS: 30
    dt: 0.02799 | FPS: 30
    dt: 0.014 | FPS: 30
    dt: 0.01799 | FPS: 30
    dt: 0.014 | FPS: 30
    dt: 0.03299 | FPS: 30
    dt: 0.018 | FPS: 30
    dt: 0.06499 | FPS: 30
    dt: 0.033 | FPS: 30
    [/code:16jwcij8]
    
    Full logs and full specs available if needed.
  • What's the GPU hardware that is affected and not affected? Maybe it's specific to particular models/vendors.

  • Here's another demo that attempts to produce GPU-throttling:

    http://www.scirra.com/labs/bugs/fpstest-gputhrottle.html

    Since it's canvas2d based on powerful hardware it's likely to still end up CPU-throttled, since the GPU can outrun how fast the CPU can issue rects. A better example might need a WebGL throttler to ensure genuine GPU-based throttling.

    On my laptop it reaches 22000 rects at 30 FPS and still has a narrow dt range, so I guess it's CPU-throttled.

  • What's the GPU hardware that is affected and not affected? Maybe it's specific to particular models/vendors.

    Thant a lot for reading this and trying to understand the problem, much appreciated : )

    I've now done the sqiddster test on 4 different laptops, all are giving nearly the same results with different brands (ATI, NVidia or integrated graphic cards). Also, I'm working on the game for one year and a half now, with more than 200 playtesters, and i've seen the game running on many, many computers. If the game fails to run at 60fps, it never runs with a "smooth" frameskip like the one we can see with the CPU throttling. Again, most of the time, as soon as the game reaches 45fps, it's very choppy and no more enjoyable.

    Both Airscape and Penelope use WebGL, aren't these two tests relevant to you? (no bad intentions behind this question, that's a real one)

    I'm more than ok to run new tests on different computers, but I really think we'll get the same results: on non-gaming computers, if the game is heavy on the GPU, the frameskip process doesn't work that great.

  • Ashley the best way to produce GPU throttling is to render lots of low opacity fullscreen sprites. The window size will affect this test. In my lagIssue capx I do this and it throttles the GPU pretty effectively (interestingly though it doesn't create as much dt variance as a real game. Maybe shader use also has an impact?)

    My observations also mirror in that it seems to be pretty much hardware-independent.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Maybe shader use also has an impact?

    That, and all the other things only found in a real game like object creation + access to textures files, scrolling / camera zoom, Z ordering, blending modes, spritefonts updates, etc?

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