Can Construct 3 compiler performance be better?

  • I just want to know are there any plans of scirra team to do this, because no matter what runtime.. games are not flawless in runnning on mobile devices like with phonegap exports because they rely on device's performance while in canvas plus it used to run flawless on any device.

    Are there any plans to tackle this for betterment of exported apk performance?

    Also Can Construct 3 compiler give wrapper like canvas +?

  • Canvas+ caused more problems than it solved: it had no support for a whole range of major features in Construct, and also (at least in the past) introduced new bugs no other browsers had that could ruin games. This is no surprise, because the project amounted to implementing a significant fraction of a modern browser engine, which is normally such a huge amount of work that it is only taken on by corporations with hundreds of developers.

    Accordingly our approach since 2015 has been to focus on supporting real browser engines, which are more stable and support the full range of Construct's features. In most cases performance should be just fine on modern devices. If they are not you can report it as an issue to the relevant company (e.g. if you have issues with Android performance, file it as a Chromium bug at crbug.com and if it's a well written report usually some Google engineers will take a look relatively quickly).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • But the performance lagging should not be there as i see small games made with buildbox(all those games) work smoothly on same device on which i test my construct 3 game

    although construct 3 can build better game than buildbox (with variety as all buildbox games are kind of similar) it all comes down to performance not being up to the mark. it is what i feel when i complete and test a game, that's all!

  • As I mentioned, in most cases performance should be just fine on modern devices. If they are not you can report it as an issue to the relevant company (e.g. if you have issues with Android performance, file it as a Chromium bug at crbug.com and if it's a well written report usually some Google engineers will take a look relatively quickly).

  • In other words, Construct 3 exports to a fairly balanced runtime, quick development and good enough game speed. Which in terms of HTML5 - Hybrid Cross-Platform Game Development, is already competent.

    Even though Construct 3 is the best balanced for HTML5 Game Development, it's still not the fastest in HTML5 Game Development, as event sheet parsing has huge performance overheads as explained and tested by experts in the Construct Community, especially with sub-events.

    If you want the fastest known HTML5 Hybrid App Game Development, you can use Phaser which may be the fastest. Although, development is not as fast compared to using Construct 3, and it requires programming knowledge.

    HTML5 performance is highly dependent on Browser speed, that's why if there is a problem, you'd have to report to the 3rd party providers, which is Google's Chromium Team. That's why Ashley mentioned reporting the issues to crbug.com

    If you are talking about fast performance, BuildBox level, you'd need native performance. Construct wraps every game in HTML5 and it is not a compiler, it uses wrappers to make hybrid apps for Desktop, Mobile and Web.

    If you want native performance, I'd recommend using Game Maker Studio 2, ClickTeam Fusion or Unity. Although, the downside is that you can't make games as fast as you can here in Construct 3. Then again, Construct 3 does take more time to optimize for performance to make playable games, especially in mobile or big games.

    However, the greatest benefit with Construct 3 is that you can make great small games fast even with little to no programming knowledge. Having programming knowledge does help a lot though, professionally.

    I hope that clarifies things.

  • Now that's aside. About Canvas+.

    Construct 2 had this, although using the actual Ludei's Canvas+, which had maintenance problem, addon incompatibilities and it didn't quite click.

    It was great at first though, effective in improving performance but wasn't updated that the latest regular Webview became faster.

    Canvas+ or anything that tries to remove features from a Webview is a good idea to increase performance but I'm not sure the Construct Team can pull that off (making their own Canvas+), it requires more manpower and the Construct Team is rather small, many Cordova plugins alone need maintenance and require more manpower. And they have to update it every time there is a new Cordova Android & iOS version. That would really be great if they can, but the question is, what to remove to gain performance?

    That would be disabling a few addons or segregating the c3runtime to 2 modules, device Webview or Canvas+. I'm not an expert at this but curious.

  • If you want native performance, I'd recommend using Game Maker Studio 2, ClickTeam Fusion or Unity. Although, the downside is that you can't make games as fast as you can here in Construct 3. Then again, Construct 3 does take more time to optimize for performance to make playable games, especially in mobile or big games.

    However, the greatest benefit with Construct 3 is that you can make great small games fast even with little to no programming knowledge. Having programming knowledge does help a lot though, professionally.

    If 2d games and native export are your requirements, Unity is not the most pleasant development platform in my experience. I tried Unity for some time a few years ago, and switched to GameMaker at the time. Now I am using Godot, however. Much nicer than GM, and geared towards 2d games (and quite proper 3d support too!), with a lovely editor and animation timeline. And GM lacks an animation timeline. Godot 3.1 hits all the right notes for me at the moment. The scene system is hard to beat in my opinion. Quite amazing engine for 2d work.

    No easy visual scripting like Construct, of course, in Godot. The native export makes it relative 'easier' to deploy, but with all tools I experienced gotchas and workarounds. I feel it depends on your requirements. No game engine is that mythical magical pink unicorn farting rainbows :)

    And I do still make use of my Construct 2 license for quick small web games and prototypes to figure out stuff and game ideas. You're right there. Nothing beats Construct for this!

    Construct 3 is beginning to lure me back in with its promising animation timeline, though. But for now Godot rocks big time if you're willing to deal with scripting.

  • Delenne

    If 2d games and native export are your requirements, Unity is not the most pleasant development platform in my experience.

    You can choose which is more comfortable to you, everyone has their own purpose and goals. In regards to performance, they all will do.

    I personally don't like Godot, I find that I can't do more versatile things compared to using Unity or Game Maker Studio 2. Godot lacks features & documentations compared with Unity's and Game Maker Studio 2's extended documentations. It also doesn't help that they are open-source, I just can't handle the idea of making production development using an engine with no long-standing commercial company keeping it competent. That's just a personal preference.

    Also, the fact that they don't have console support yet limits your choices. You'd end up in a same situation as Construct and you'd end up learning a new engine for consoles. It's okay in Construct because it's very easy to learn but Unity, Game Maker Studio 2 & Godot has a steep learning curve. Learning one of the engines like these has to be your professional long-term investment. I'd suggest you pick one engine from a company that has a long stable background and can provide you the needed exports, just in case.

    That's why I like Unity and Game Maker Studio 2 better. Although, not to be bias, Godot is still very competent.

    It's just my personal suggestion from experience, anyone reading this can just use this as a guide if they want to choose a native engine. Just wanted to share too.

  • Delenne

    I personally don't like Godot, I find that I can't do more versatile things compared to using Unity or Game Maker Studio 2. Godot lacks features & documentations compared with Unity's and Game Maker Studio 2's extended documentations.

    The reason why I left GM2 is because GM2 lacks almost any GUI support (Godot has truly mature GUI components), lacks an animation timeline option (anything can be key-framed in Godot, and it has built-in bones for characters), the glacial development rate of GM2, limited audio control, no true 3d support, and more.

    Feature-wise GM2 is quite behind Godot at the moment, for the most part. Have you actually used Godot for a game project? Just asking, because Godot objectively offers (much) more than GM2 in most areas.

    I've used GM2, Construct, Godot, Fusion, and Unity (and others in the past) for a variety of projects, and I can't say Godot is behind GM2, Construct, or Fusion in regards to 2d game features - quite the opposite, really (and of course there is no comparison when 3d support is added into the mix!). Unity is different, of course. It tries to be everything to everyone, and not very friendly for 2d game dev, in my opinion.

    Godot's documentation was pretty bad only two years ago, but has improved a lot since they had a documentation sprint last year. Loads of online youtube tutorials too.

    The GM2 manual is still somewhat better, you are right.

    Also, the fact that they don't have console support yet limits your choices. You'd end up in a same situation as Construct and you'd end up learning a new engine for consoles.

    Not entirely true. Godot has support for XBox One via UWP, and Switch, PS4, and XBox One porting is possible through a commercial service.

    Anyways, unless you have your own well-recognized game development company, and your game is of a very high quality, console support might as well be a pipedream for most. It costs a good chunk of $$$ change to arrive at a console release.

    That's why I like Unity and Game Maker Studio 2 better. Although, not to be bias, Godot is still very competent.

    It's just my personal suggestion from experience, anyone reading this can just use this as a guide if they want to choose a native engine. Just wanted to share too.

    Yes, I agree: it's like picking a clothing style. I like we have so many choices now. And I switch between engines depending on the project. For example, for click adventures I have used Visionaire in the past, and if I was asked to work on a similar project again, I would choose Visionaire once more.

    That's also why I use Construct for small web games for clients: fast and efficient.

    My motto: use the right tool for the right job. Don't be afraid to switch to another tool if it will save you time and/or the export platform requirements say so.

  • Some posts in this thread mix up CPU and GPU performance. Construct with WebGL 2 basically uses native grade OpenGL ES 3, and once it's on the GPU it's hardware-limited. So I think it's fair to say Construct has native-grade GPU rendering performance and capabilities.

    Also, I must point out Construct supports publishing to Xbox One! For some reason most people don't seem to pay that much attention...

  • You can pay me if you need your events to be written better for better mobile performance

  • yoyoEleanor

    I follow the best practices required for good performance already! thanks!

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