Ashley's Forum Posts

  • Why do you need to? It provides a useful feature.

  • Construct has no null type, only numbers and strings.

  • From the Bug report FAQ: (emphasis added)

    Why haven't you responded to my bug report yet?

    We do look at every report, but developer and release schedules mean we may not get round to it immediately. Please allow a few weeks for it to be investigated. If you are waiting, you can improve the chance it is resolved when a developer does get round to it by carefully reviewing these guidelines and providing as much useful information about the problem as possible. If you are missing anything, you may end up waiting a few weeks for a reply simply asking for the missing information, and then you're back to waiting again.

  • SwiftShader is a software renderer. You get software rendering when the graphics drivers are broken.

    Try updating your graphics drivers and installing any available system updates.

  • Support for this was already added in r219.

  • From the Browser object manual entry:

    Downloading is a browser feature and depends on the browser UI. Note that mobile apps don't run in browsers (there is no address bar etc), so the download feature isn't available there. Consider using the Share plugin to share the file instead.

  • I can't offer any support for editing projects after export. You could give it a go, but I expect it will be too difficult to get working.

  • For the time being you can keep using the C2 runtime to support Internet Explorer. But the C2 runtime will itself be retired in July. IE is very old and was long ago replaced by Edge, and its usage share is still falling, so if it's not irrelevant already, it will be soon.

  • For the record, since the introduction of WebGL in 2011, Construct games have rendered almost identically to native games. WebGL is basically OpenGL exposed to the web. So it's basically using the same rendering API as any other native game using OpenGL. (With WebGPU, this analogy will continue, but being more or less equivalent to the next generation Vulkan/Metal/DX12 APIs.)

    The main difference introduced by browsers is the driver blacklist. There are many poor quality drivers out there. These can crash and glitch and ruin games. This is a serious problem faced by many native engines. There is little anyone can do about it. Sadly the state of graphics drivers continues to be poor. (Hopefully the next generation APIs help with this, since they allow the drivers to be much simpler.) Browsers blacklist known bad drivers so you get software rendering instead. This means the game runs correctly, but slowly.

    So barring some kind of obscure browser bug we don't know about yet, the only explanation seems to be the graphics drivers. These are still a problem no matter which technology you use. You may find that when using some other game engine, it seems to be faster, but then you later run in to the crashes and glitches that the browser makers were trying to avoid. This can cause even worse problems, such as the game crashing or just showing a black screen on various types of Android devices.

    So while you may claim that Android performance sucks, I think really this is just driver blacklisting on a small number of devices for a good reason. It's a matter of picking your poison - do you want software rendering or the risk of crashes and glitches? I think the former is the right choice.

    Changing the framerate mode will only make this worse. It doesn't make anything faster, it only changes when frames are scheduled. Unlimited framerate mode will allow powerful devices to run up in to the hundreds, or even thousands, of frames per second, promptly drain the battery, and earn you poor reviews.

  • If those events are continually true, it will continually re-run them every tick, and keep queuing up more and more waits. You probably want to use a trigger, or the 'Trigger once' event, to make it happen once.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's impossible to tell from just a post like this. A group with a single event with a single action could itself enable hundreds of other events that do loads of intensive work. So it looks like the group is causing a big performance impact, but that's actually misleading.

    Use the profilers provided by Construct. They give you actual measurements about the time spent in various parts of your events and the engine.

  • You said you're sending binary data, but the error says you sent text. You probably aren't actually sending binary data.

  • In general browsers don't provide hardware details for privacy reasons.

    Besides there are thousands of different hardware setups out there - you'd have to maintain an entire database of hardware and its capabilities, and continually update it over time. That's probably more work than making the actual game.

    I really think this is the wrong direction, I don't think anyone takes this approach because of all these problems.

  • Tweening should not have any significant performance impact. It's hard to say more without seeing a project that we can try ourselves.

    30 FPS is already a pretty low starting point, so my best guess is this is nothing to do with tweening - the most common cause of poor performance is a device with broken graphics drivers that has to revert to software rendering. (That's not Construct's fault either.)

  • It's much easier to help if you share your project. Otherwise we can only guess.

    It looks like you're incorrectly passing strings instead of numbers for the position in createInstance(), so I would guess that is the problem.