Ashley's Recent Forum Activity

  • I can't reproduce either problem. It works correctly here with the latest NW.js (0.12.0).

    Please only report one issue per post BTW, otherwise it can get very confusing what the status of the report is.

  • Thanks, should be fixed in the next build.

  • Thanks, should be fixed in the next beta.

  • Original .capx link is 404 now, so I can't investigate this bug report any further. Closing, will reopen if new link provided.

  • "Trigger once" is a short name for "run if the event is true this tick but was false last tick". That only applies to normal evaluated events which are tested every tick. Triggers and events like 'On collision' aren't evaluated every tick, they just fire whenever something happens, so "trigger once" does not apply to them.

  • It might help a bit to run the engine in a worker, but I wouldn't expect it to be a transformative improvement. Running the engine on the main thread means it contends with other browser work happening on the main thread, but browser developers already work hard to keep the main thread as free as possible (by making the browser do its own work in other threads - already using other cores if available - see this blog) specifically so there's as much time as possible to be spent running JS code. I don't know, I'd guess at maybe at best a 10% improvement running in a worker. As the blog post mentions, a nice thing about browser engines is they already split work across cores where possible.

  • If you have concerns about mobile performance, please, please, please:

    • make a .capx
    • make performance measurements
    • share the .capx and measurements

    It is incredibly frustrating to read long threads about supposedly poor performance and yet not be able to do anything at all about it. On page 4 of this thread, all I can do is shrug and say I don't see what you're seeing, apart from maybe acknowledging that Chrome has had a rough patch of bugs which has affected smoothness and performance (and NW.js and Crosswalk inherited that), which is Google's responsibility, and not to do with Construct 2 or its engine. I saw another thread like this, something like 20 pages long, and I got a single .capx out of it. I profiled it and managed to make some improvements for the next build. That was a useful improvement. But I cannot make performance measurements and code optimisation improvements from complaints on the forum alone. If you really want to make a difference, the conversation about performance needs to be focused on real examples with actual measurements, not just talking about it.

    Often the next argument is "you depend too much on third parties like Chrome", followed by a suggestion to use a different third party engine like HAXE or some other library, which could equally cause problems, and IMO is more likely to since few of them have the backing of a billion dollar corporation with thousands of engineers. No software is perfect; everything has its issues; the fact one platform has issues is not an argument to go through an incredibly disruptive technology shift to another platform that has fewer development resources going in to it.

    Often then people send us .capx projects which clearly hit hardware limits, for example they hammer the GPU fillrate incredibly hard, or use tons of intensive shader effects. Native apps use the same GPU, so a native engine won't save you: it's still the same hardware, and will still be just as slow. A native engine will only help if your game is CPU-bottlenecked. Of the CPU-bottlenecked projects we see, often they do crazy things in clear contravention of our performance tips to an extreme extent. Badly designed games will still run badly no matter which technology you use. I don't mean to blame everyone here for designing their games badly, but of the .capx files I am actually sent, this is frequently true; if you think this is the case even with a well-designed game, see my request at the top!

    I had the opportunity to profile The Next Penelope - one of the most ambitious games developed with C2 - and look for any performance bottlenecks. It was running very well and the engine was holding up great: it had a very even spread of CPU load across lots of small functions, with no obvious bottlenecks, and good overall performance. I think that at least proves that well-performing ambitious-scaled games are possible, and that there are no obvious performance deficiencies in our engine (as in the JS code we've written).

    The asm.js version of Box2d should run within 1.5x as fast as native C code according to Mozilla's benchmarks, and it's still improving. Performance issues in physics games using asm.js physics are probably either due to maxing out the CPU due to too intense use of physics, or it's not actually physics which is causing the performance problem at all.

    When people run in to hardware limits that native engines would also face, or even come up with some crazy game that does something like hammer pathfinding across a huge map every tick and find it eventually chokes and dies, the impulse seems to be to immediately blame HTML5 or the browsers or our engine. Of the projects I see, this is frequently unjustified. Again, please, send me real examples so I can examine them and make any necessary improvements. Make this about .capx files and measurements, not just long forum threads.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's very painful to implement anything but standards-compliant features that cover the exact same features. I couldn't immediately find any Cordova plugins that do. Ideally they will be compatible with the specification so all you'd need to do is add the Cordova plugin to your project and it starts working, but if it's not a compatible API then it's a real pain to integrate. If speech recognition is part of Chromium, then it really is best if Crosswalk can add support for it.

  • > If you don't change any of the object images or animations, then simply use letterbox scale mode. Then on a 720p screen you'll get 720p display.

    >

    Definitely. That's what my game already does. However, I'm wanting 720p on a 1080p screen, or even a 4k screen. Essentially, I want to limit the max resolution. Does it make sense to do that to improve performance? The idea is that the GPU will have to render less overall pixels, but I'm not sure if what I'm doing to achieve that makes any sense.

    Only if you use 'Low quality' fullscreen mode. Even if the viewport is 720p, in high quality fullscreen mode letterboxing that to 1080p or higher will display more detail, and run at the same performance. If you use low quality fullscreen mode it will render at the viewport size and then simply stretch the result to fill the display, which improves performance on weak GPUs with low fill rate capacity.

  • mindfaQ - we ask that you test all browsers in bug reports to help identify browser specific issues. Please test it in Chrome and if it doesn't reproduce there, report the issue to Opera; if it does, file a new report with full details.

    • Post link icon

    I can't get the latest 0.4.1 update to work. Has anyone else had any luck with it?

  • I've corrected the order of operations for the next beta. We'll see how it goes.

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 27 Oct, 2026

Twitter
Ashley has 1,834,271 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x6
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs