Ashley's Forum Posts

  • The point of my previous post was "don't use lots of huge images".

    If you're wondering what is fastest, you can find out yourself by making measurements.

  • I replied to the thread, but they closed it already. Hopefully they will see my message and reopen it...

  • granpa - are you sure you are using the right address? It is definitely http://localhost:50000 - anything else is wrong (no www, no .com, nothing like that)

  • I was thinking a service exactly like that, but run by you aka Scirra

    I don't think it's a feasible project, since to maintain compatibility we would have to implement such a large portion of a browser engine that we may as well just use an actual browser engine, which is what we do already with most Cordova platforms. Ludei list 22 staff and they still miss major features like Web Audio, WebRTC, form controls and more from the non-browser Canvas+, and I don't anticipate we'd be able to go further than that with less than half as many staff (even after the expansion we just announced!)

  • Carrying over the SOL would have quite a high performance cost. Since the function can go on to modify the SOL, but then has to be able to restore the state when the function returns, the SOL lists must be copied before the function is called. If you have picked say 1000 instances with some event before calling a function, then every time the function is called with "carry SOL" it must duplicate an array with 1000 items. Used naively (on-by-default, or if there is a checkbox and you just get in to the habit of always checking it) you could end up with a very high CPU cost for this feature.

    Passing a UID and picking it in the function is a good technique: the "pick by UID" condition works in constant time (it just directly picks the instance without having to check every instance like normal conditions) so this is an efficient pattern. If you need multiple instances, just putting the picking conditions back in the function is probably not much less efficient than any kind of "carry SOL" feature, and could actually be more efficient since you can make sure you don't carry the SOL for any unrelated objects the function doesn't actually need.

    Functions are generally supposed to be some kind of independent, re-usable bit of work, and I'm not entirely convinced how sensible it is to design them to use the SOL of the caller, since that seems to mix together the responsibilities of the calling event and the function. There's not really a way it "should" work, since programming languages don't use SOLs so there's no good analogy looking at traditional programming languages. This type of question is, as far as I'm aware, totally unique to C2.

  • So I tried looking in to this disabling various features of the Touch object one at a time, and the prompt eventually stopped coming, and then I re-enabled everything, and it still didn't come back. So either iOS stops prompting after a while (making testing this extremely difficult), or it's sporadic, or it's somehow fixed already? I don't really know what is going on here. I still suspect it's Cordova making the location request, since it used to work.

  • Have you tried the steps in Troubleshooting C2's preview server?

  • Closing, see the bug report requirements. Also there is no official plugin called the Canvas plugin, so you probably need to report this to the plugin developer instead.

  • You should report this type of issue to the Bugs forum following all the guidelines to make a good repro, which would make it a lot easier for us to fix it.

  • Nombre del módulo con errores: ig4icd64.dll

    ig4icd64.dll is from the Intel graphics driver, so that proves it's a graphics driver crash and not a problem with C2. Check your Intel graphics drivers are up to date.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • What makes me so angry with this performance issue is the powerful of your AWESOME software, and you know that for sure, you made an amazing powerful software that can allow anyone to make any 2d game without limitations, so why you insist to destroy it ?!

    We are not destroying it. All modern software development relies on software and libraries developed by third parties. We could go native and, say, every device which didn't run WebGL instead just crashed (some of them bricking the phone and requiring battery removal/reinsertion), which is one of the types of problems that native software faces since there is nothing shielding you from the very worst of the graphics driver issues. Then you could equally claim we are trying to destroy our native exporter or something. Really there are various third parties involved who need to do their bit to make it a good platform, and they may not be doing such a great job. The same goes for any platform or technology or framework that you may think we should use.

    [quote:m8s60mrm]I found that Crosswalk will never be a right solution for games

    I think it is short-sighted to say "never". It's under active development with regular releases and is always improving. It's moving a lot faster than many of the native platforms - just look at how long it takes Android updates to go out. And when was the last time you updated the drivers on your phone?

    [quote:m8s60mrm]Skia fix gives me a good results and i don't know when it'll be available to build with

    Hopefully the next version or two - this is a very good indication the problem is already fixed and we just need to wait for it to work its way down the release channels!

    [quote:m8s60mrm]it just needs native exporter

    You say "just", but you are talking about a collossal software engineering project that will have ongoing feature, compatibility and maintenance implications, some of which may be so severe as to negate any performance benefit. (As in, what use is a super fast engine if it doesn't have the features your game needs to run?)

    Some sort of CocoonJS exporter would be fine

    We already support Ludei's Cordova-compatible platforms, and if Canvas+ happens to work for your game, you can already go ahead and publish with it. So don't we already have that? You can choose whichever export option works best for you.

  • Is the long preview time specific to NW.js? If it's a lot quicker in the Chrome browser then perhaps there is something specific to the NW.js preview mode that needs speeding up. If Chrome is the same speed then I guess we need general improvements, but these might need architectural changes to implement, which would mean leaving it till C3.

    I'm also not quite clear where it is taking a long time. There are two phases to previewing a project:

    1) generating the preview - the C2 editor indicates what it's doing in the status bar, and if it takes a long time, a progress bar appears in the C2 editor window

    2) loading the preview in the browser - currently running a new preview reloads the page so everything is thrown away and then the game is "downloaded" (copied or decoded directly from RAM or local files) in to the browser in preview mode. If this takes a long time then it shows a progress bar in the browser (or NW.js window).

    If you can indicate which area is taking up the time then I could consider what kind of improvements need to be made.

  • You do not have permission to view this post

  • All the powerful features of C2 + small APK size + stability + amazing performance = the best solution ever.

    and it's not impossible! it can be done!

    That should be how Cordova works on Android 5.0+. The only problem is the Android market share, which is only a matter of time.

    I think it's naive if you expect a native engine to not have any bugs either - we have a lot of native experience from working with Construct Classic, and it is just as fraught with difficult problems. All platforms have bugs, and browsers aren't special in that regard.

    Also I have seen Crosswalk games running at a perfectly smooth 60 FPS - I suspect the current Crosswalk bug is specific to certain devices or hardware configurations. If you have a problem on one device, you can't assume that all devices are equally affected.

  • Browsers don't provide options for this, so you just get whatever kind of antialiasing the browser uses by default when rendering to a canvas.