C2 Performance, let's be honest...

0 favourites
From the Asset Store
Firebase: Analytics, Dynamic Links, Remote Config, Performance, Crashlytics on Android, iOS & Web Browser
  • The device is not old, it has cutting edge mobile GPU. It's a Tegra 4. It has a fill rate of 2.68 Gpix/s (whatever that means, it's probably good :P)

    Also it can run 2d games like Reaper at 60fps with many more sprites and effects and such.

    Autorunner is just an utterly basic game, not being able to run that game at 60fps means either that C2 is not optimized, whatever graphics libraries are used are not optimized, or Autorunner is not made in C2 in an optimized way. You can't say that it's because the GPU is old because it's possibly one of the best mobile GPUs in existence and as a gamer who has many, many android games, so far C2 Autorunner is the only game that has given me fps noticeably below 60.

    There is clearly a problem on someone's end, and it's not the GPU.

    Edit:

    Doing some probably incorrect math here but at 2.68 Gpix per sec / (2560 x 1600) resolution I can redraw the whole screen 655 times per second if fillrate means how quickly it can draw pixels. This means that I would have to redraw the screen 11 times every frame to drop below 60fps if this were just a fillrate issue. This probably isn't how it works, but however it works, I would imagine with that fillrate it would take a lot to drop to 30fps

  • Ashley ,graphics card drivers upto date...

    with XP I could not use internet explorer, so not something I'm in the habit of, will give it a go...

    Just tried it on win 7 and I'm amazed it's running at 66FPS in canvas 2D...

    Scratches head...it outperforms chrome and node webkit, both using web gl...

    any explanations?

  • "Scratches head...it outperforms chrome and node webkit, both using web gl..."

    As it was stated (I could be wrong), current version of chrome (and perhaps node webkit?) are simulating WebGL when it is software rendered in some cases (Not sure of the reason behind that).

    So you are not experiencing a fast Chrome with WebGL hardware rendering, but a chrome with software rendering simulating a webGL hardware rendering, which is far slower (and still reported as webGL though)

    It is clearly a chrome/node webkit problem if that is indeed the case

    IE currently uses canvas2D, which is hardware rendered, and so better than software rendering. The WebGL indication on this version of chrome for many users doesn't mean what it has in the past, and I think will be corrected with the next version

    Just What I understood, could be wrong

  • Ashley ,graphics card drivers upto date...

    with XP I could not use internet explorer, so not something I'm in the habit of, will give it a go...

    Just tried it on win 7 and I'm amazed it's running at 66FPS in canvas 2D...

    Scratches head...it outperforms chrome and node webkit, both using web gl...

    any explanations?

    I noticed the same a while ago doing testing on an old laptop with an integrated intel gpu, IE rendered far faster than node webkit, but its event execution speed was lower. If I recall correctly, using a flag to disable the driver blacklist in node webkit/chrome fixed it. As such, it does seem like your card's driver being blacklisted is the problem.

  • My laptop with a ultra low volt i5 and its intergrated HD4000 destroys html5 games, it's not even a problem at all for desktop performance. The only issues is using older GPUs and their out-of-date drivers.

    If you have some GPU from many years ago with 256mb ram, the drivers for it hasn't been kept up to date, period. This is especially true for AMD/ATI cards, they tend to stop supporting it after about 5 years.

  • Aphrodite it does not simulate web GL it does not recognise it,due to driver blacklisting so falls back to canvas 2D...

  • I'm not here to big up My "Rig" I know it's old, My point is that it's probably a fair average of what's out there being used, by ordinary folk..that You and I are making games for...

    If I am having these problems, so will they, difference is they will not go chasing drivers and setting flags, they will be moaning about it to you and I...

  • And most PC users will know that drivers need to be up to date, its not a new issue as soon as they try to game on their desktop. The problem comes in when ATI/AMD and NVIDIA stop updating drivers for older GPUs. They seem to have a 5 year life-span on driver support. For NV, anything beyond 8800GT is not supported (updated), and last I checked, they don't update anything for the 8800 series for a long time. Their updated drivers only add function to newer graphic cards.

    The hardware may be more than capable, but the drivers just aint there for it.

  • You can set it to run with the 'use driver blacklist' flag disabled by default, I think in the manifest file, though you'll need to package it yourself that way with node webkit instead of using C2's nw export.

  • I too have seen Node-Webkit "exe" revert back to software rendering on my brothers computer (which is 2x-4x faster than my laptop).

    Meanwhile I'm getting 55-60-fps on my crappy laptop with only 20% CPU utilization.

    While my brothers more powerful desktop is only getting 15-18 fps with 90% CPU utilization.

    So the massive increase in CPU usage explains that it is software rendering on one computer, but hardware rendering on the other.

    So from what I have read on these forums I understand that this issue is with Chrome 32 + Node-Webkit, but with Chrome 33 stable release the software rendering issue should be fixed.

    Now all we have to do is wait.. Fingers crossed <img src="smileys/smiley1.gif" border="0" align="middle" />

  • While it seems that this is a driver/hardware to OS problem. I want to share a personal lesson I learned lately.

    I was testing a game on an iPodTouch5g. All was fine I was getting 58-60fps. When I decided to start testing on my touch4G the fps dropped too 18-30. Of course the touch is weaker. But my game had very little graphics so I thought I would optimize. I learned a surprising lesson. So here it is and what I found.

    First I did was strip out the big assets. result no difference in FPS.

    I was very shocked that with no graphics my fps was abysmal. Ok I new my game only had visually about 12 objects on screen at a time, but still no difference.

    So my next step was to identify what was killing FPS. The next step was cutting out un needed behaviours. Previously I found even behaviours like PIN would impact peformance in a big way even if Pin wasn't being pinned to anything. I had about +5 FPS performance.

    Ok, so the next step was to start modifying game propertier. Make sure WebGL is on, HIGH DPI rendering..... boom +5 fps. i was getting 30 to 40 with no graphics and the better settings. But what was going on. No gfx, no objects and peformance was poor.

    The next step was cutting out the code. I started disabling Events. I first started cutting Included Sheets. managed +3fps. Still not much though. Well after deleting EVERYTHING the game ran at 62fps.. YES.... but there wasn't anything. No GFX, no code.. NOTHING. But I knew that something in my code was killing performance.

    So I put the graphics back in(re-loaded from a prior save) and ran with no Events what so ever(deletes the events). And much to my surprise the FPS was 60-62fps. O.o not a single image I used had any effect on performance. I learned very importantly an important lesson.

    C2 has a great rendering optimization, but you as a coder can make very bad event code.... super bad event code. I finally isolated the code that was dropping my games performance by 25fps.

    it was surprsingly a combination of Touch checks and setting the players speed/angle of travel by touch/mouse position.

    If your developing a game. I suggest reconsidering Every Tick to update a lot less frequently.

    So My suggestion if your having performance problem. Create a complicated scene and disable all your events for the scene and see if that improves things. If it does you like me need to go back and re-doe the event code.

  • Mind you, windows xp is well over 10 years old, and its publisher released 4 newer operating systems which was supposed to replace XP.

    When Windows stopped supporting XP Service Pack 2 (and announced they would shortly do the same with SP3), they revealed that around half of all computers still use XP. This was last year.

    They claim it's a piracy issue, but in truth they've put out sub-par products, and many simply won't trust a newer version of windows unless they have to.

  • jayderyu

    Good post. I found exactly the same thing as you. Mobile devices these days and even those from 2011 don't really give a stuff about massive art asset, they can crank it out at 60 fps easily. But there are things that really hurt performance of C2 games on mobiles:

    1. Physics.

    2. WebGL effects.

    3. Rotating, changing angle, resizing objects every tick.. and some behaviours (thanks for headsup on Pin!).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • > Mind you, windows xp is well over 10 years old, and its publisher released 4 newer operating systems which was supposed to replace XP.

    When Windows stopped supporting XP Service Pack 2 (and announced they would shortly do the same with SP3), they revealed that around half of all computers still use XP. This was last year.

    They claim it's a piracy issue, but in truth they've put out sub-par products, and many simply won't trust a newer version of windows unless they have to.

    Actually ... it could very well be partiallly a piracy issue ...

    Even now, millions of people still offer the cracked windows XP versions through torrents and what not.

    Later windows system have better security in regards to the wga checks, which is getting harder to crack every version requiring more skills to apply them ... and more frequently.

    People stick with what they think they know what works ...

    There is an enormous amount of old PCs that lagg with newer OS versions and would require money for hardware too in order to upgrade. These systems are often given to relatives or children, keeping them in circulation. Its a bit like with semi old cars.

    Also, many people think windows is too expensive and dont want to spent 150/20 bucks on some software thats being sold by the 100s of millions.

  • Ugh, spent way to long writing a mega post reply to this, but one short, separate issue:

    :

    I don't have any experience with mobile, but I have noticed the simple act of moving/rotating objects really adds up if you have a lot of sprites...even on desktop. Does moving affect your fps as much as rotating? does disabling collisions completely (not just col events, but actually setting objects to default to no collision) have any effect?

    Cheers, T

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