Ashley's Recent Forum Activity

  • not sure if someone already requested this but making a GIF export would be pretty helpful for socials...as its always a nice lightweight way to post some animation.

    This is kind of a tricky thing to explain, but GIF is pretty much dead as a format. Anywhere you upload an actual .gif file, it will likely be immediately converted to a modern video format, as it makes for a far smaller file size. Construct could let you export a GIF, but the first thing you do with it will likely convert it back to a video, so you may as well use a video to begin with.

    It's possible to add GIF export, but there doesn't seem to be much point, especially since I've been working on supporting exporting MP4 videos which is a more widely supported format - e.g. I've noticed Giphy supports uploading MP4 but not WebM. So I suspect using an MP4 video export will do everything a GIF export would have done but better.

  • The video export is an offline encode option, which is a key difference to Video Recorder, which does a real-time encode. If the system can't keep up with Video Recorder, the game performance suffers and that can affect the content recorded. However with video export, the engine renders a frame, encodes it to video, and then advances the time by one frame, and continues. So the performance has no effect on the video content: it will always export perfectly smooth motion regardless of how fast or slow encoding is. And if you have a powerful system, depending on the export parameters, offline encoding can run much faster than real-time.

  • You should already be able to fully customise the Platform behavior to do whatever you want by using the set vector X/Y actions.

    You can try making your own platform movement with events as a learning project. However the Platform behavior's main movement logic is over 1000 lines of some of the toughest JavaScript code I've written in my career. The whole point of Construct is to take these really complicated things and make them easy to use. As with many things in software, some things that seem simple are actually very complicated.

  • Construct is estimating that your project will use over 3GB of memory. That is exceptionally high. Many devices will not have enough memory for that. You should try to keep the memory usage well under 1GB.

  • The Animated SVG example demonstrates it's possible with the HTML Element object. Unfortunately for technical reasons it's very difficult to integrate further in to the engine.

  • Even if we supported that, you still have the question of what happens for the 5-10% of people who don't get WebGL 2. What should be rendered instead? Or should it fail?

    I think some of that can be done in WebGL 1 anyway. Perhaps we could enable the OES_standard_derivatives extension, which should let you do it in WebGL 1 code with better compatibility - I reckon most WebGL 1 devices probably support that extension too, although actual support numbers are hard to come by, especially since webglstats shut down.

  • I had a look at the project. I can't reproduce any significant performance difference between r295 and r297. In both cases the CPU is around 50-60% and it runs about equally smoothly. The GPU utilisation increased slightly in r297, probably due to a rendering change to improve how transparency is handled, but it didn't appear to affect the smoothness much.

    The events are pretty inefficient. In particular a great deal of CPU time goes on two actions that adjust the Z order of a couple of hundred "Billboard_Grass" objects with the "Move in front" action, which is done apparently redundantly every frame. The engine doesn't handle this efficiently at the moment, but it's a poor solution for Z ordering anyway - use layers, Z elevation, or if necessary, only run those actions when something actually changes, rather than all the time. If I delete those two events I don't actually see any obvious visual change and the CPU usage drops a lot.

    It also creates around 1000 objects which seems a lot for a relatively simple style of game like this - perhaps you're creating hundreds of unnecessary objects and running intensive events on them all?

    It's also difficult to test this reliably, as it seems to be based on randomised and procedurally generated content, which makes doing a fair comparison between two releases difficult. What if one time it generates a lot more content? It could be slower because of the content, not because you switched release. You have to be scientific about performance and make sure you're running exactly the same thing in each case and only vary one thing. It seems possible that there is no significant performance change in Construct and the content differences gave you a misleading impression of a performance change. From an engine point of view it is also much, much easier to investigate performance differences with a minimal project (as per our bug report guidelines).

    I'm afraid I don't have time to dig any deeper, but in short I can't see any evidence of a major performance difference between r295 and 297 here, and the most serious problems look like inefficient events or game design, which are up to you to change! As ever it's important to keep an eye on the performance numbers and watch out for any changes that cause a big change to the numbers, which is an indication you made a change that hit performance, so you would probably want to find a better way to do that. And if you want to track down something that might be slow, split events up in to smaller groups to get better numbers from the performance profiler, and try deleting chunks of events to see if performance improves when to remove specific events.

  • It's hard to say because as far as we are aware, the WebM Opus files Construct generates are supported on every platform and are working for everyone else. It's also possible it's just a mistake, like the event logic to play sound is not correct, or the user has their sound turned off, etc.

    If something doesn't work in general you should file an issue following all the guidelines, as we need all that information to be able to help - without it it's usually impossible to figure out what might be going on.

  • In terms of the core features, WebGL 1 works virtually identically to WebGL 2, basically doesn't need any maintenance, and dropping it would mean the 5-10% of people who still only get WebGL 1 will get either a blank screen, or drop to software rendering which will ruin performance. So dropping WebGL 1 would be a tiny amount of upside to a huge amount of downside. I think it's the kind of thing you can only consider when usage drops to <1%. That will probably still take years.

  • The forum is still missing lots of features like limiting voting, sorting the suggestion lists various ways, managing the status and official responses, and so on. I spent quite a while looking for a suitable service and that was the only one that did most of what we needed when I last looked, but that was a few years ago, so perhaps some other service has turned up?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That's weird, I can't see anything about the r296 release that would have seriously affected performance. Send your project to ashleyhiy@scirra.com and I'll do some profiling and see if anything comes up.

  • Yeah, discussing ideas collaboratively in the forum to refine them and make sure they are robustly justified is definitely a good idea before submitting a suggestion, and I'd encourage that.

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,428,849 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
  • x108
    Coach One of your tutorials has over 1,000 readers
  • x62
    Educator One of your tutorials has over 10,000 readers
  • x3
    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
  • x36
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs