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

0 favourites
From the Asset Store
Game with complete Source-Code (Construct 3 / .c3p) + HTML5 Exported.
  • Yeah, bunnymark isn't a real rendering performance test, it's probably CPU/memory bottlenecked.

    I don't know why people are talking about multicore and CPU limitations. You do realize the problem is PURELY on the GPU side, right? Unless it's harder for the CPU to keep up with 3000 objects in renderperftest than it is for the GPU to draw it...

    Do the bench with your setup and monitor GPU usage with GPU-Z, lets see the GPU load %. Bet you its nowhere near your CPU utilization.

    I've just monitored GPU usage in Airscape demo on Steam, 1080p (auto resolution and standard). ~15-20% of my GPU is loaded while playing 60 fps (with random stutters). It's definitely not a GPU bottleneck.

    I just ran your stripped down test via dropbox, and my GPU isn't even loaded (~1-3%!!) to a point where its above idle enough for it to run at higher clocks. It's running on idle 300mhz clock instead of loaded 880mhz (which the Steam demo did load).

    Edit: Radeon 7950 stock clocks with i5-3570K.

  • > Yeah, bunnymark isn't a real rendering performance test, it's probably CPU/memory bottlenecked.

    >

    > I don't know why people are talking about multicore and CPU limitations. You do realize the problem is PURELY on the GPU side, right? Unless it's harder for the CPU to keep up with 3000 objects in renderperftest than it is for the GPU to draw it...

    >

    Do the bench with your setup and monitor GPU usage with GPU-Z, lets see the GPU load %. Bet you its nowhere near your CPU utilization.

    I've just monitored GPU usage in Airscape demo on Steam, 1080p (auto resolution and standard). ~15-20% of my GPU is loaded while playing 60 fps (with random stutters). It's definitely not a GPU bottleneck.

    Face=palm. Totally forgot about gpu-z.

    Okay, so, on my system (3570k, HD4000) I can confirm that the gpu is getting loaded down. In the dropbox airscape demo, gpu is at 90% or more at 60fps, auto setting, window size aprox 800p.

    Trying a random project of mine (space shooter with a couple webGL effects and a few layers) I upped the rez to 1080p and looked at what I got. With default settings, smooth performance was a no go, with fps running similar to airscape in the latest chrome stable, ie, from 30 to 40fps. Stripping away almost all the fx, and a few window dressing layers got me 60fps, but with little room to spare according to gpu-z.

    I think it's starting to look like:

    (C2 engine + real game + iGPU) != (60fps 1080p)

  • This smells like it's an Intel problem, their iGPUs are not optimized to handle WebGL properly leading to major loading in otherwise simple 2d games. Especially if its faster in canvas2D mode where their raw CPU power muscle through.

    I noticed this behavior early on, in the first Star Nomad I deliberately kept everything as simple as possible and only used 1 webgl effect on a rare sprite. Everytime it spawned, my performance would tank HARD on my notebook with Intel HD4000. It was fine on Android devices and butter smooth on iOS.

  • I think it's starting to look like:

    (C2 engine + real game + iGPU) != (60fps 1080p)

    Not exactly, only applies to Intel iGPU.

    I have an AMD A10 HTPC rig for playing movies & lighter games on the TV.

    AMD iGPU in their APU like A6/A8/A10 series have no issues and are able to accelerate WebGL perfectly & efficiently.

  • Really, I've had a lot of trouble with display glitches in various programs due to intel graphics. It's a shame they are such a large chunk of the market.

    I've gotta stop putting off getting a real gpu...

    /digression

    We might get a better idea if someone with low end dedicated graphics (Nvidia or AMD/ATI) could run the airscape demo and post their gpu-z results. If a low end card is not only pushing 1080p 60fps, but doing so without using any gpu, we can pretty much chart this up to bad drivers on intel's part.

  • >

    > I think it's starting to look like:

    >

    > (C2 engine + real game + iGPU) != (60fps 1080p)

    >

    Not exactly, only applies to Intel iGPU.

    I have an AMD A10 HTPC rig for playing movies & lighter games on the TV.

    AMD iGPU in their APU like A6/A8/A10 series have no issues and are able to accelerate WebGL perfectly & efficiently.

    Yeah, actually, that's a good point. I've really never read anything bad about AMD's apu solutions; in fact, they seem pretty awesome for what they are.

    Of course, AMD has the advantage of all the tech and expertise they picked up when they merged with ATI; Intel is a relative newcomer to GPU's, and it hasn't exactly been smooth sailing (anybody remember Larrabee?).

    What about giving airscape/gpu-z a go on the A10 rig you're talking about?

  • What about giving airscape/gpu-z a go on the A10 rig you're talking about?

    It's wife's rig and occupied for her work atm.

    I did test it in the past running my own performance test and it handled it fine, which was why I was so surprised when my Intel HD4000 struggle so much in a simple game.

  • I'd still really like to see a non C2 2D webGL *rendering speed* benchmark! That could tell us once and for all if it really is an intel problem (and I really really really really hope it's not) or a C2 problem.

    Does such a thing exist?

  • TiAm That demo doesn't seem to work for me. It tells me that it's running at 60fps when it's actually running at like 2fps. Also, again, it's hard to say if it's GPU or CPU bottlenecked.

  • TiAm That demo doesn't seem to work for me. It tells me that it's running at 60fps when it's actually running at like 2fps. Also, again, it's hard to say if it's GPU or CPU bottlenecked.

    This? I got 60 fps (really smooth) with 60,000 fishies.

    http://people.mozilla.org/~jmuizelaar/f ... -fast.html

    [attachment=0:1ic84rjj]Fish.jpg[/attachment:1ic84rjj]

  • Just got GPU-z.

    In renderperftest at 3000 objects, GPU load is at 100%, CPU load at 10%.

    In that fish test, with just 20 fish, GPU load is at 70% (?!?!?!) while CPU is at 10%.

    GPU usage goes up to 100% at 1000 fish, still minimal CPU usage.

    So not looking too good for this being a C2 issue... Unless those developers are missing some optimizations/workarounds that Scirra is also missing.

    The fact that I could render 150,000 cubes though... I mean, how can 3D be optimized so much that it's like 500 times faster than 2D?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's not a C2 issue, its clearly an Intel iGPU problem with WebGL.

  • As mentioned earlier in the thread, the rendering problem seems related to the number of pixel draws rather than just the number of object draw calls - thousands of small objects might demand less of the gpu than hundreds of large objects, etc, so I would be interested in a bunnies test that uses a 512 image side...

    I was thinking that this could be an artefact of the back to front renderer - thousands of pixels being drawn only to be subsequently drawn over many times per frame. I don't know if there are smarter ways to draw layers of objects in 2d using techniques like culling or even pasting areas that are static onto a canvas object to negate some of the re-draw load. I can't think of an easy way to implement such a thing, it might take a lot of work for negligible savings on multiple parallax layers and it won't work for animations. Just thinking aloud....

  • Colludium Yes, it's definitely one of the major issues of a back-to-front renderer. However let's keep the perspective that performance is sometimes waaaaaay below where it should be for a specific GPU (Intel igpu's being the main culprit here). I've contacted Intel about it so hopefully we can come up with a solution, or at least a direction to go, from that end.

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