Native Desktop Exporter for Construct 3

Discussion and feedback on Construct 2

Post » Thu Jan 29, 2015 2:40 pm

Okay uploaded new Cap and EXE @Somebody

Uses these events:

Image

Also @Fimbul, the performance difference for me between CC and C2 based on the simple (and most recent) example that Ashely is using gave me performance that was 67% slower with C2, that's not negligible, and my hardware is about average for Steam's results from the hardware survey (and probably people with way better/the best machines are the only ones who aren't embarrassed to send that data :P ). Look further back in this thread for that post of mine, I linked it 2 times as well as someone else has linked it too I think.

Edit:

Cap file -

https://dl.dropboxusercontent.com/u/471 ... arison.cap

EXE file (NO FPS IN CAPTION) -

https://dl.dropboxusercontent.com/u/471 ... ompare.exe

Running from the cap file I get a solid 45/46 FPS even with clicking like crazy, so setting them to random positions was even slower than a more-accurate one to Somebody's C2 example :P

Compare that to the example in C2 that @Somebody made:

https://dl.dropboxusercontent.com/u/132 ... index.html

With events:

Image
Last edited by Jayjay on Thu Jan 29, 2015 2:55 pm, edited 2 times in total.
"Construct 4 lets YOU make advanced games! (but not play them)" Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
B
121
S
41
G
17
Posts: 2,217
Reputation: 19,696

Post » Thu Jan 29, 2015 2:44 pm

@Jayjay Still tangibly smoother - just like I remember. You could probably crank it up to twice or so and still get decent fps while a browser would probably crawl.

Thanks for making the test.
B
19
S
6
G
7
Posts: 1,101
Reputation: 6,146

Post » Thu Jan 29, 2015 2:51 pm

@Fimbul

Agree, most of issues are performance, but this will happen when project was done with bug free. How to make whole project complete is the next topic in C3, to make it more easier.
B
108
S
26
G
272
Posts: 4,472
Reputation: 152,279

Post » Thu Jan 29, 2015 2:52 pm

@Somebody , definitely! and I think so too, maybe even more depending on the CPU of the person testing. For fun I applied a blur-horizontal FX to each individual sprite and that made it choke (3FPS), but I tried again instead applied to the whole layer (I added blur horizontal and blur vertical to that) and still got 45+ FPS the whole time.

No problem :)
Last edited by Jayjay on Thu Jan 29, 2015 2:54 pm, edited 1 time in total.
"Construct 4 lets YOU make advanced games! (but not play them)" Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
B
121
S
41
G
17
Posts: 2,217
Reputation: 19,696

Post » Thu Jan 29, 2015 2:52 pm

@Jayjay

Even clicking like crazy, the .cap still stays at around 147FPS for me. Damn :)
If your vision so exceeds your ability, then look to something closer.
Moderator
B
134
S
30
G
86
Posts: 5,420
Reputation: 59,526

Post » Thu Jan 29, 2015 2:56 pm

@Somebody - thanks for the .capx. Since you provided a real project I was able to profile it and optimise it. The next build should be somewhat faster (not sure how much though).

It would be difficult to optimise further, but I would point out spawning 9000 objects on-screen and running events on all of them seems to me to be something of a special case. It stresses the event engine pretty hard.

Is this an argument for writing native exporters? IMO, no - I'd much rather rewrite the core engine in asm.js, which should bring it up to native-like speeds, but still running in a browser, and still with full compatibility and portability.

For the record if anyone ever has .capx examples like @Somebody shared I'm always curious to take a look and do any optimisation work possible. I got it running faster based off that .capx, but I very rarely get sent such examples - it's page 12 of this thread and that's the only one I've seen so far.
Scirra Founder
B
398
S
236
G
88
Posts: 24,433
Reputation: 194,635

Post » Thu Jan 29, 2015 2:58 pm

Ashley wrote:Is this an argument for writing native exporters? IMO, no - I'd much rather rewrite the core engine in asm.js, which should bring it up to native-like speeds, but still running in a browser, and still with full compatibility and portability.


I agree with that, and would really love the core in asm.js :)
"Construct 4 lets YOU make advanced games! (but not play them)" Construct Classic - Examples Kit Dropbox is a pile of trash and if you need my old files PM me! :)
B
121
S
41
G
17
Posts: 2,217
Reputation: 19,696

Post » Thu Jan 29, 2015 3:03 pm

I get that you're unhappy, but Scirra is doing everything they can to mitigate similar issues in the future (as mentioned repeatedly by Ashley), including support for different NW.js versions (that should probably be extended for all other exporters as well, IMHO).


Trivial sprite test have proved nothing more than inconsistency from what I have observed... It's all over the board.

Not really unhappy, I love C2, and that is why I am expressing concern... Rather, I'm frustrated at the lack of concern for desktop publishing, and this idea that everything is fine as long as you don't take on a large scale project. How many exporters have come and gone? It's a pattern and it's not sustainable IMO. I can guarantee there are many like me just sitting idle on their projects due to exporting concerns. Not everyone here is making flappy bird clones. And the website doesn't state that either...

With that said, I totally agree that it will in fact get better as HTML5 advances. (In 3 years of being here I've witnessed it) I don't want to take away from the fact that C2 and Scirra team is and are awesome. Just expressing ( what I feel ) are valid concerns.
Image Image Image
B
61
S
19
G
6
Posts: 325
Reputation: 7,944

Post » Thu Jan 29, 2015 3:09 pm

Ashley wrote:@Somebody - thanks for the .capx. Since you provided a real project I was able to profile it and optimise it. The next build should be somewhat faster (not sure how much though).

Mega-awesome! Thanks! Would that be faster for extreme cases like this or in general?

Ashley wrote:It would be difficult to optimise further, but I would point out spawning 9000 objects on-screen and running events on all of them seems to me to be something of a special case. It stresses the event engine pretty hard.

Both yes and no - like I mentioned Geometry wars would be a good example of this sort of thing. I'll be sure to test the next build even further with input events and such.

I'm not sure how much this has to do with optimization, but another special occasion is rapidly spawning fast moving objects, such as bullets in shmups. It's probably more of a question of approach, but it would be interesting to, for example, adjust a sprite's position if it's spawned in a "Every (very low value) seconds" and detects that a tick has skipped, for example and thus sort-of "speeds up" for that single tick to compensate.
B
19
S
6
G
7
Posts: 1,101
Reputation: 6,146

Post » Thu Jan 29, 2015 3:09 pm

Jayjay wrote:
Ashley wrote:Is this an argument for writing native exporters? IMO, no - I'd much rather rewrite the core engine in asm.js, which should bring it up to native-like speeds, but still running in a browser, and still with full compatibility and portability.


I agree with that, and would really love the core in asm.js :)


+1

Are their issues with Node and asm.js on exporting?
Image Image Image
B
61
S
19
G
6
Posts: 325
Reputation: 7,944

PreviousNext

Return to Construct 2 General

Who is online

Users browsing this forum: AnD4D and 18 guests