Ashley's Recent Forum Activity

  • Upload a .capx

  • I think the Airscape log confirms my theory. Part of it has a dt sequence with these measurements:

    31ms, 25ms, 41ms, 20ms, 31ms, 19ms, 35ms

    There is variation from 19ms to 41ms - over double. This is really uneven frame scheduling and probably explains why it looks so bad, it's a totally unpredictable framerate frequency. I would expect frame-by-frame the actual CPU/GPU workloads are almost identical, unless you have significantly intensive events coded to run every other frame or every N frames. Assuming even workloads for each frame, this is probably bad scheduling by the browser.

    At 37 FPS each frame is probably taking about 27ms to process, while the screen is drawn every 16.7 ms. If I write out how this is being scheduled...

    Vsync 1: 16.7ms (skip)

    Vsync 2: 33.3ms (render frame 1)

    Vsync 3: 50ms (skip)

    Vsync 4: 66.7ms (render frame 2)

    Vsync 5: 83.3ms (skip)

    Vsync 6: 100ms (render frame 3)

    Vsync 7: 116.7ms (render frame 4)

    Vsync 8: 133.3ms (skip)

    Vsync 9: 150ms (render frame 5)

    Vsync 10: 166.7ms (render frame 6)

    Vsync 11: 183.3ms (skip)

    Vsync 12: 200ms (skip)

    Vsync 13: 216.7ms (render frame 7)

    See how it's alternating between rendering two adjacent frames 16ms apart (e.g. render frames 3 + 4) and skipping two adjacent frames (e.g. render frames 6 and 7, which end up falling about 50ms apart!). No wonder it looks bad, that's like switching between 60 FPS and 20 FPS every few frames.

    This needs to be solved on the browser side, I think. It looks like when each frame takes longer than a Vsync period to process then it starts aliasing really badly against the refresh rate. The only sensible alternative is to have the browser drop it right down to 30 FPS, which is a lower rate but at least looks predictable. I'll see if I can make a demo and file a bug report for Chrome...

  • You do not have permission to view this post

  • You do not have permission to view this post

  • You do not have permission to view this post

  • Arne - yes, you can install betas next to stable releases, just choose a different install directory and don't uninstall when given the option.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • "On Start of Layout > Set BackGround Image to WindowWidth /2, WindowHeight /2

    That's a classic mistake. If your intent is to place it in the middle of the viewport, then the correct expressions are:

    (ViewportLeft("layer") + ViewportRight("layer")) / 2

    (ViewportTop("layer") + ViewportBottom("layer")) / 2

    OzairP - the quickest way to get help is to share your .capx so we can directly see what you've done. Otherwise all we can do is speculate. There are a great many ways you could get the result you've shown.

  • Checked mode has a performance overhead, so it's deliberately turned off for stable releases. You should just make sure you test with beta releases.

  • I wouldn't expect the bandwidth use to be deterministic. Expect variations even for identical runs.

    Retransmissions happen at the OS layer and won't be counted by C2's stats. That just tells you how much it tried to send and how much it finally received, not counting whether one of those packets had to be retransmitted 10 times, or even if it got lost completely (it still will have counted the outbound bandwidth because it passed it to the OS network layer).

  • From Performance tips under "common causes of poor performance":

    [quote:5itatcdj]Too many objects using Physics

    The Physics behavior is very CPU intensive. Using too many objects with the Physics behavior can cause considerable slowdown. You should design your games to use a few large Physics objects rather than many small Physics objects.

    Designing a mobile game to make heavy use of the Physics behavior is probably the least efficient first decision you could make. You might be able to get some more performance choosing asm.js physics mode in project properties, but the physics behavior is just about the most CPU-intensive behavior there is, and if you insist on sticking to it and have to use lots of objects then you are probably never going to get good performance.

  • You do not have permission to view this post

  • Are you sure? Did you try rebooting after the setup? It should drop those DLLs in the system folder so they're available to all applications, not just the node-webkit one.

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 27 Oct, 2026

Twitter
Ashley has 1,835,393 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x6
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs