Thanks Scirra!

Discussion and feedback on Construct 2

Post » Fri May 24, 2013 7:49 pm

[QUOTE=zendorf]I would be more than happy to pay an extra few hundred for an exe or apk native exporter for C2![/QUOTE]
Really? Construct 2's desktop exporter using node-webkit outperforms our old C++/DirectX 9 renderer. I genuinely think Construct 2's performance is comparable to native engines, and will be on mobile as well as soon as WebGL arrives (which should be here very soon via CocoonJS).
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,600

Post » Fri May 24, 2013 10:31 pm

Poor performances with C2 can come from mistakes in designing, as expressed in that blog article.

New to Construct ? Where to start

Image Image
Image Image

Please attach a capx to any help request or bug report !
Moderator
B
247
S
85
G
40
Posts: 7,000
Reputation: 57,795

Post » Sat May 25, 2013 1:44 am

Poor performance in node webkit can also result from an old graphics card without OpenGL properly installed (which causes it to use a technology called ANGLE which converts OpenGL calls to direct x ones, but it does degrade performance, though I don't know how much), or a blacklisted driver, resulting in it rendering via software rather than hardware. I'm guessing one of those is what's happening on a old laptop I have access to with a mobile intel 945gm express graphics card because the framerate does take a noticeable hit in comparison to a CC direct x 9 exe, but on gpus without those problems as Ashley said it renders faster than construct classic does.Arima2013-05-25 01:49:14
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Sat May 25, 2013 4:16 am

Sure, if you have current hardware and a decent graphics card you can get good performance out of C2/HTML5, no question. But I want to cater to a general market that may be running less optimal/slower hardware. I shouldn't expect a potential customer to have good gaming rig just to play a fairly simple 2d game.

Even though I have several i7 workstations and laptops , I am intentionally doing most of my development on an older centrino laptop(HD 3670) to keep my performance expectations realistic. Since this laptop runs all of my Steam games fines such as Rayman Origins, Limbo, Trine, Botanicula ,etc I know that the hardware is quite capable of running an "indie" style title. If I am struggling to get even a consistent 30fps out of a much simpler C2/HTML5 game (at 720p) under chrome/node webkit I have to question the viability of HTML5 on older hardware.

I am also testing out a physics based game I made with C2 on my Asus ep 121 tablet(i5 proc and HD3000 gfx) and getting totally unusable results(less than 20fps at best). On my centrino laptop with an old Radeon card it is much better at double that. Still, I do seem to get lots of random slow downs on all my games, and I have massively optimised and stripped them down over time.

Just getting to the point where I wanted to finish some games and not spend all my time just trying to optimise, hence why I started dabbling in GM and finding I was getting massive performance gains. I haven't had anything drop below 60fps yet on the same hardware. And for what it is worth, I have been trying out other C2 users work to see how the performance/frame rate is and finding the same issues. No doubt HTML5 output from GM or Stencyl will have the same issues.

Please don't take this as a slight on C2, as it is a joy to work with :) I will continue to use it for games that don't require high performance and don't have physics properties. This will be less of an issue in coming years with higher quality GPU's as standard(Haswell) and more optimisation of HTML5 and browsers in general.
B
11
S
2
G
1
Posts: 108
Reputation: 1,899

Post » Sat May 25, 2013 6:42 am

@zendorf - I agree with your frustration on the matter. The simple truth is that direct x has been better supported on Windows machines than OpenGL (unsurprisingly, though it has been getting much better as of late), and as such since C2 uses OpenGL, it's more vulnerable to the mess that are some drivers for some of those older graphics cards out there (there aren't any driver updates for the card I mentioned earlier, for example) - and there doesn't seem to be anything we can do about it except wait for people to stop using those graphics cards. It will get better as more people migrate to new computers, but for now some users simply get disappointing framerates on windows. :(Arima2013-05-25 06:46:39
Moderator
B
88
S
32
G
33
Posts: 3,005
Reputation: 27,432

Post » Sat May 25, 2013 8:22 am

I personally didn't know what to expect when I first started with C2. I had seem GM before but it didn't interested me. What got me to take notice here was the community. Lots of sharing of ideas, it just seemed like it had potential in a lot of different ways.

I can't say I am fully up to par with every ability that C2 is capable of but I can say it can make games that look as good as any it really just takes the effort. As for exporting and third parties. Webkit seems to work completely fine from the testing I've done and the performance, at least for me, is better than chrome browser in r129( have not tested since).

I have had some problems with C2 don't get me wrong, but they come more from inexperience and misunderstanding. And there are things I would like to see, native exporters would be awesome. But the price point for C2 is really spot on, changing that would isolate a lot of potential game creators. So third party exporters are fine with me as long as I can figure them out lol;)MelVin2013-05-25 08:22:20
B
48
S
15
G
5
Posts: 183
Reputation: 8,476

Post » Sat May 25, 2013 12:24 pm

Arima, yes it does seem to be a DirectX vs OpenGL issue. Would be interesting to know how many commercial 2D PC games use OpenGL instead of DirectX these days.

The integrated HD3000 in my Asus tablet is giving awful performance for my C2 games, even though it has a decent cpu, it all seems to come down to GPU power. The HD4000 is pretty much the standard in most laptops these days...how well does it fare for HTML5 games?
B
11
S
2
G
1
Posts: 108
Reputation: 1,899

Post » Sat May 25, 2013 2:11 pm

If I understand well, it is more a compatibility with graphic card driver problem than a problem with C2 itself, I know that is problematic, but this reminds me something, not sure everyone encounter this kind of problem before:

When you buy a PC game at a store, on the box, there are a configuration list, to know if you can/can't play the game at all, or how well it will play.

Maybe, it is possible to make a program/Page that check if the game is compatible, and if not, how to make it better (@Ashley like the scirra mark, but for PC, could this be possible?), also, if you want to check if an executable will eventually work on a PC (and mobile phone maybe?), why not also make a Demo of the game

EDIT: also, a compatibility mode, if it is not to hard to implement, can be good as well (les/no particles, less effects, etc...)Aphrodite2013-05-25 14:13:17
https://www.scirra.com/forum/viewtopic.php?t=152506

And that is why you shall respect the bug reports guidelines, not only giving a capx is making the bug reproductible in one click in a situation they can work with (less time wasted trying to reproduce vague instructions) but also it helps filtering false positives.

Game design is all about decomposing the core of your game so it becomes simple instructions.
B
42
S
17
G
16
Posts: 2,094
Reputation: 15,355

Post » Sat May 25, 2013 3:40 pm

@zendorf - the problem is probably solely to do with graphics card drivers. Even old laptops should be able to easily get 60 FPS when using hardware acceleration. Your results sound like you're getting software rendering because your driver is known to be buggy. Updating your driver may fix it and give you 60 FPS again.

We experimented with the node-webkit exporter forcing hardware acceleration to be on all the time, and we got lots of bug reports of crashes or games rendering with really bad glitches making the game unplayable. These were all graphics card driver problems. So we realised they're disabled for good reason. You'll probably have these kinds of problems (crashes and severe glitches) with any engine or framework that uses hardware acceleration; just wait until you publish your game and see if you hear about people complaining of crashes or glitches. Top commercial games have the resources to spend days or weeks working around catalogues of obscure driver bugs; most smaller companies can't do that. With C2's engine we decided to follow Chrome's policy that reliability is better than speed. Users with reliable systems get great performance, and users with unreliable systems get slower but reliable games. Software rendering may be slow, but it avoids the many crashes and glitches caused by graphics card drivers, so at least the game works for that user rather than being totally unusable.

So this is a deliberate decision to make sure your games are playable on a wider range of systems. You should advise users to update their graphics card drivers regardless of which technology you use, to ensure maximum performance and best reliability. If users playing C2 games also update their drivers, they are likely to get significantly better performance if they previously got software rendering.

In our experience, graphics card drivers are the #1 technical problem with games on any platform.
Scirra Founder
B
359
S
214
G
72
Posts: 22,952
Reputation: 178,600

Post » Sun May 26, 2013 7:21 am

Thanks Ashley for the valuable info! Is there a flag or variable in C2 that I can add to my game HUD to display if it using hardware or software rendering? This would be useful when I try it out on various PC's.
B
11
S
2
G
1
Posts: 108
Reputation: 1,899

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: Colludium and 12 guests