Ashley's Recent Forum Activity

  • WebGL is up to 20x faster at per-sprite rendering on some systems, and in real-world examples can double the framerate. I can't remember ever testing a system that measured slower in WebGL mode than canvas2d, and I've tested a lot of devices! Normally the only reasons it could be slower are large, constantly changing text objects (which are slower in WebGL mode than canvas2d), or the extra work of running shaders. However there may be other reasons it appears slower. The graphics control panel tools that some graphics chips ship with (e.g. nVidia control panel) have the ability to override the rendering settings that applications choose. For example Construct 2 asks for a WebGL context with antialiasing disabled, but if you've modified the settings (or if the control panel has really stupid defaults) it might force it enabled, and for some reason not apply that setting to the canvas2d context. Antialiasing on a low end chip will completely murder performance, and then you end up with it looking like WebGL is a lot slower than canvas2d. So I'd double check all those settings.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You get a compiled script that you can run with node.js to host the server. If that doesn't make sense to you, you probably shouldn't buy it yet.

  • There's probably no performance difference between 'Is overlapping' and 'On collision' if you immediately destroy the object, since it then doesn't require any tracking since it doesn't exist any more. However you probably want to use 'On collision' for correctness since it picks instances for individual collisions. For example:

    + On collision between A and B

    -> System: create explosion at A.X, A.Y

    -> Destroy A

    -> Destroy B

    Note the use of a system action. This always works like you expect: an explosion is created with every collision.

    + Is A overlapping B

    -> System: create explosion at A.X, A.Y

    -> Destroy A

    -> Destroy B

    This has a nasty edge case: if two different A-B pairs overlap each other for the first time in the same tick, it will run the event with both pairs picked. The system action then runs once, creating only one explosion (and the A.X, A.Y expressions will return the position of just one of the two objects involved). Both sets of objects are correctly destroyed, but you only got one explosion. You can fix that again with "For each", but then you may as well just use "On collision".

  • Closing, please follow the bug report guidelines: we can't fix bugs from watching videos. The multiplayer example is working fine here. This problem could easily be caused by your network configuration as well, and we're not hearing any other users reporting problems, so that seems likely.

  • 'On collision' does more work than 'Is overlapping', so it makes sense that it's slower. It's probably not obvious to you what the extra work is though. It has to fire once per pair of overlapping instances, and not fire again until they separate and touch again. This tracking work is pretty complicated and has to track things over time, since it has to remember if it's fired 'On collision' for an existing pair of instances that are already touching. On the other hand 'Is overlapping' just makes a collision check on the spot and doesn't need to remember or track anything.

    Both ways still use collision cells though so scale well to large layouts.

  • We haven't made any changes at all to the multiplayer engine for quite some time now, so it would be strange. Are you sure it's not your connection?

  • Post this to the Bugs forum following all the guidelines if you want it investigated.

  • I checked and the signalling server is running fine today (I had to reboot it for a Windows Update though so it was down for 1-2 min). Besides if you read the multiplayer tutorial you'll see that the signalling server is not involved in syncing objects, that is done by the room host.

  • Surely it's the results, not the tools, that matter? Maybe show them some of the top C2 games (The Next Penelope, Airscape etc) to show them what it can really do.

  • In general, enabling or disabling features depending on the browser is a very bad idea. You want to enable features depending on if the browser supports it, not if they are using a specific browser. For example suppose in 2012 you detected if the user was on Chrome, and only enabled Web Audio effects for that browser. Later Firefox adds support for Web Audio, and soon IE will as well, and you've unnecessarily crippled those browsers because you detected Chrome instead of Web Audio support.

    You can detect the browser based on the user agent string, but all browsers pretend to be all other browsers because developers keep making that exact mistake over and over again. For example IE now pretends to be Chrome so developers who wrote browser tests instead of feature tests get fooled and enable the features which IE also supports. This makes it pretty hard to actually tell which browser it is from the user agent string. It's possible, but then if you do so, you're making exactly the same mistake all over again!

    So don't do it. Think about the problem you are trying to solve and how to make it based on available features rather than the type of browser.

  • The save feature by design saves everything. I'm sure someone has an opposite use case where it is important to save the layout size.

    One workaround would be to enable unbounded scrolling and implement the scroll bounds through event logic.

  • I wrote about this topic in some detail in this forum post.

Ashley's avatar

Ashley

Online Now
Early Adopter

Member since 21 May, 2007
Last online 27 Oct, 2026

Twitter
Ashley has 1,834,374 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x126
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x6
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x44
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs