Ashley's Forum Posts

  • Excellent! And when you're all done could you please box up your CPU and ship it to Iowa? My 8 core 4ghz machine with 32 gigs of ram still only managed 129k in r149. I want your toys.

    Heh, my office desktop has an i7-6700K 4 GHz with RAM running at 3 GHz, and I can get 344k with the latest release 😉 (that's on quadissueperf)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • So I looked in to this, and it turned out to be a really interesting/difficult issue. Part of the problem is the engine is so well optimised! Benchmarks like quadissueperf are so efficient that they are not bottlenecked on executing instructions - instead they are limited only by memory bandwidth. Therefore they cannot be optimised - or made slower - by changing the code: only the memory layout will affect it.

    In r150 we simply added a small new class for the instance's script interface for the scripting feature. Despite being small it used a bit more memory per instance, therefore requiring more memory bandwidth, therefore reducing the benchmark score. In r152 we made the class a little bit bigger, which made the problem worse. We've already seen the same thing happen in the past if you add a behavior or family to the object in the performance test - it takes a bit more memory to store that family or behavior, and the benchmark score drops a little as a result. It's really hard to avoid this.

    The good news is there are things we can do: mainly just making sure features that are not used do not allocate memory. Simply lazy-loading the script interface seems to solve this, since it means it doesn't use any memory at all unless you actually access it from script. We can also go further and make sure things like instance variables, behaviors and effects do not allocate memory unless they are actually used.

    So this should now be resolved in the next release - and hopefully we can go a little further in the next release or two after that, as there are more internal details that can be tweaked the same way.

  • construct.net/en/forum/construct-3/general-discussion-7/eleanors-patreon-the-best-142183

    You've been repeatedly warned about self-promotional activity like this, and repeatedly ignored the warnings even after a temporary ban to show the seriousness of the situation, and yet you continue to do this. So, to my total dismay as I appear to be completely out of other options, I am going to follow through on my previous final warning and you are now banned.

  • Press F12 and look for any errors in the browser console.

  • Construct is not limited to 60 FPS. It matches the v-sync refresh rate of the display, which is most commonly 60 FPS, but not always.

    This is true of both Construct 2 and Construct 3.

  • Construct is not limited to 60 FPS. It matches the v-sync refresh rate of the display, which is most commonly 60 FPS, but not always.

  • I can reproduce a performance difference in quadissueperf:

    r148: 205k

    r149: 205k

    r150: 172k

    This points to a change in r150, not r152. I filed an issue to investigate.

    I cannot explain any performance difference in fillrateperf at all. That test is completely different and is solely bottlenecked on the GPU hardware's memory bandwidth. So it shouldn't change much no matter what we do to the engine. Somehow I could measure an improvement in r150 with fillrateperf:

    r149: 2480

    r150: 2792

    This still doesn't make any sense, so my best guess is that test is actually fairly high variance and so the results should not be considered accurate. Maybe it depends on the hardware temperature and power state or something.

  • IIRC it wasn't even fully supported in C2 - it wouldn't work in WebGL mode because it doesn't support an equivalent.

    It's a highly unusual blend mode and is not easily supported in WebGL so support for it was simply dropped.

  • You do not have permission to view this post

    • Post link icon

    This feature is now in a stable release and the documentation is now in the official manual (e.g. Timeline Bar), so unstickying and closing.

  • Updated the original post with new downloads based on Chrome 75 (NW.js 0.39.0).

  • Construct is a game engine so uses WebGL (essentially OpenGL) for rendering. I suspect image editors have a different design using software renderers so they don't have to deal with this limit - or they do break up the images in to tiles.

    Given Construct is designed to be a game engine and not an image editor there aren't really any features for dealing with this. The expectation is that you are making a game with much smaller sized images.

  • It's probably either:

    - the CORS configuration of the server (Android apps don't have an origin, so you have to allow full cross-domain access for it to work)

    - the APK whitelist (every URL it can possibly load has to be specifically whitelisted)

  • Many devices have a hardware limit in the GPU that limits images to 4096x4096.

    The only way around this is to break up the image in to tiles which are each 4096x4096 or smaller.

  • Check the plugin type is either "object" or "world" and matches what you expect for the type of plugin.