Ashley's Forum Posts

  • Can you file a bug report requesting this with a demo? It will most likely be lost in the forums otherwise (as looks like has already happened before!)

  • We specifically recommend you do not do this. Your modified platform behavior will not stay up to date with future official changes to the platform behavior.

    I'm not quite clear what the changes are for and why they are necessary - but it would be far better to update the official behavior to incorporate this. Having said that, the platform behavior is very complicated and we've had a lot of trouble with even minor changes causing a cascade of other bug reports afterwards. So this may not be easy to integrate.

  • Did you check what the problematic devices say in chrome://gpu?

    Crosswalk includes the whole Chromium browser engine which does increase the APK size, but it's necessary for Android 4.x devices. Their built-in webviews are too slow and limited to run games otherwise. Android 5.0+ should be fine without crosswalk.

  • What version of Android do the devices have?

    What does Chrome say if you navigate to chrome://gpu on the device? Is anything software rendered?

    How does Crosswalk perform? You should definitely try that, especially on any devices older than Android 5.0.

  • It's different for every project, because only the plugins, behaviors and effects that your project actually uses are compiled in. This means it can be a pretty small script for small projects.

  • iOS is designed with the idea that users never close apps. You just go back to the home screen by pressing the home button.

  • Construct 2 renders the game in to a canvas element, but other elements like text inputs and buttons are the only things which are separate elements. The only way it's possible to display these is to float them over the canvas, there's no way to draw them in.

  • I don't think it's possible by any means: device makers want the buttons to always work, and not be taken over by malicious (or otherwise) apps. Most users want to avoid situations like getting a loud ringtone at an inappropriate time, then finding the volume buttons don't work...

  • It's probably something to do with the fact normally music has to queue to play in the next touch, but that's not necessary with the Web Audio API. File a bug and I'll look in to it.

  • There are a couple of issues that prevent us easily putting a "tiled" property on Sprite:

    • the collision masks work differently: you can put a custom collision mask on each frame of a Sprite, but not on a tiled background, because we don't support tiling collision masks. If you could tile a Sprite, either we would have to do a lot of work to implement tiling of collision masks (which could present some very difficult implementation problems), or collisions just suddenly revert to bounding-box in tiled mode, which is the kind of confusing trap that people get upset about ("why did my collisions suddenly stop working?!").
    • the rendering works differently: each Tiled Background object uses a repeating texture, which is different to a non-tiling texture in OpenGL. Also due to the way OpenGL works it's most convenient to exclude these images from spritesheeting, so each tiled texture is always its own texture with no padding or other content (which makes the texture repeat modes easy to use). If Sprite has an option to enable this, it becomes quite complicated. If you can change it per instance or at runtime, you must duplicate the entire set of images (doubling the memory usage) to allow for the tiled mode. Only allowing it to be a global option for each type of sprite is easier, but even this is not so straightforward: if you have 500 animation frames, due to the fact they are not spritesheeted, this turns in to 500 separate images after export, and having too many images has been the source of problems before.

    I think the easiest solution is a way to add animations to Tiled Background with some provision for spritesheeting, but this is complicated and doesn't even solve all the problems!

  • The timescale has no impact at all on the Browser object. The system "Wait" action will last infinitely long if the timescale is 0, because no time is passing for the timer that measures the pause.

  • If you read the recent blog posts on WKWebView, it can use more memory, especially for music tracks. Does your game use a lot of music? I'd suspect it is crashing due to running out of memory.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I will look in to memory management for music at some point, but I can't give any ETA right now. We're constantly extremely busy balancing Construct 3 development and Construct 2 maintenance.

  • The test results focused on average FPS, and if you score 55 FPS+ that generally means there isn't a performance problem. So yeah, your desktop is doing fine. Frame drops are a separate issue that the blog post didn't cover.

    When you're in the 55-60 FPS range you're probably in the "performance is fine" range and timer accuracy, v-sync accuracy or jank problems are the only things in play, so it's probably not really fair to say one system that got 58 FPS performs better than another which scored 56 FPS, there's probably just a varying amount of accuracy in the frame scheduling.

    Also I can say Intel integrated GPUs are definitely the worst on the market, from long experience working with a range of Intel iGPUs. The very latest ones in Skylake look like they might be OK-ish, but everything earlier is generally pretty poor, and often woefully underpowered for high-resolution displays (especially with 4K!). Also if you have a dual-GPU laptop, it probably defaults the browsers to the iGPU and not the better GPU. You can manually switch it over to test the other GPU.

  • Usually it's floating point scaling, scrolling or positioning, with certain project settings.