I need your help to figure out Airscape's performance issues

  • This is definitely a case of poor implementation with Intel graphics. I noticed my own beefy PC 3770K w HD4400 struggles with WebGL on but off, its fine, the CPU handles it like a beast that it is.

    Most gamers do have a discrete GPU, NV or AMD and even the crapper ones are miles ahead of Intel.

  • ", why is it (supposed to be) so much slower than webGL? Is webGL just 'more low-level' somehow?

    "

    as far as I know, yes webgl lets do things in a lower level way, you can do more and as long as it is correctly working, it is also faster since ashley made an implémentation of it specifically for C2 If I am correct.

  • If this is true, that's crazy! Surely the implementation couldn't be that poor that it performs three times worse than an Android tablet.

    Saying that most gamers have a good GPU may be true, but Intel Integrated Graphics is used by about 20% of Steam users - check out the Steam hardware stats.

    You also have to factor in the fact that a lot of the time C2 games will by default fall back to the integrated chipset instead of utilizing the GPU in the first place, which means that this percentage would increase significantly for anyone unable, unwilling, or uninformed about that issue.

  • It is true, Intel iGPU cannot render simple WebGL shaders (like water, warp, glows etc) without major performance loss. I've tested this a long time ago to find what shaders work well on iGPU & mobiles and what does not (most of them). This is definitely a case of Intel graphics drivers having zero optimizations for this kind of workload. In general its a hit or miss with gaming on Intel iGPU (some of the games I play on my Intel notebook have horrible texturing bugs or flickering).

    You may have to make 2 versions for Steam, 1 with WebGL + shaders for people with dGPU and one without for those on notebooks on iGPU.

    Note that this is actually an Intel driver issue, because even crap low-end discrete GPU from NV or AMD have no issues and actually running with WebGL on results in much faster performance as it should.

  • You may have to make 2 versions for Steam, 1 with WebGL + shaders for people with dGPU and one without for those on notebooks on iGPU.

    Is there no way to make this an option in-game like at an options menu?

  • Is there no way to make this an option in-game like at an options menu?

    Once in-game I don't think there's a way to change the renderer.

    Would be good if we can toggle at runtime with WebGL on or off, like a -command line. That would be great for these situations.

    Is there a way?

  • , you're right - it's not possible to change the renderer during runtime (unfortunately). See Ashley's response here.

  • Turning off webGL is not a solution. Canvas2D is still slow, definitely too slow for my purposes.

    I really can't believe that a high-end intel integrated GPU cannot run webGL at one third of the speed of a two year old tablet, or a five-year old budget mac. It's completely crazy if this is the case. If it's really just a hard limitation of webGL, then webGL is not suitable for games, period.

    I'd really like to hear what Ashley has to say about all of this.

    I tried out some Unity webGL benchmarks and they seemed to perform well, although with no no-webGL reference point it's hard to say anything definitive there.

    I can't just tell my users that they can't use integrated graphics. Everyone in this day and age expects 2D games to be able to run on the most basic of machines. When you factor in the GPU fallback problem, the situation becomes worse.

  • You'll need to collaborate with Scirra on this, let them test the capx examples on Intel graphics and see whats going on.. if its really an Intel problem, perhaps they can submit bug reports to Intel's driver team.

    If its a C2 problem, then they can improve it.

  • You'll need to collaborate with Scirra on this, let them test the capx examples on Intel graphics and see whats going on.. if its really an Intel problem, perhaps they can submit bug reports to Intel's driver team.

    If its a C2 problem, then they can improve it.

    Hopefully it's the latter, as Ash has said it's pretty tough getting help from driver vendors

    [quote:2gkxfx5t]Browser vendors are far more receptive to bug reports than driver vendors BTW, so if you're worried about problems caused by third parties, driver bugs are a far worse and far more significant problem with native engines! I'll take the browser vendors any day...

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Yep. I tried talking to NVIDIA about the GPU fallback problem (They basically have a forum for bug reports) and it didn't get very far

  • I'm super sad for you, man.

    I really hope you'll find something. Please keep us posted!

  • Aurel have you ever noticed this problem? Or is your game simply optimized so well that it runs well even with this terrible performance?

  • WebGL is up to 20x faster at per-sprite rendering on some systems, and in real-world examples can double the framerate. I can't remember ever testing a system that measured slower in WebGL mode than canvas2d, and I've tested a lot of devices! Normally the only reasons it could be slower are large, constantly changing text objects (which are slower in WebGL mode than canvas2d), or the extra work of running shaders. However there may be other reasons it appears slower. The graphics control panel tools that some graphics chips ship with (e.g. nVidia control panel) have the ability to override the rendering settings that applications choose. For example Construct 2 asks for a WebGL context with antialiasing disabled, but if you've modified the settings (or if the control panel has really stupid defaults) it might force it enabled, and for some reason not apply that setting to the canvas2d context. Antialiasing on a low end chip will completely murder performance, and then you end up with it looking like WebGL is a lot slower than canvas2d. So I'd double check all those settings.

  • Ashley

    The Intel HD Graphics control panel is pretty basic, but it did have an option to turn off anti-aliasing. I tried it and there was no difference, so the settings don't seem to be the cause of the problem.

    Anyway, I've tried four machines, one basically factory fresh, all with the same results. So I highly doubt it's a weird config issue. Do you have access to an Intel HD Graphics machine to test on?

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