Ashley's Recent Forum Activity

  • Closing as by design.

  • You can export to a HTML5 website in the free edition, then try it on a mobile device.

  • That video says it compares game development tools, but it only actually compares their physics engines. At the time it was posted we only supported box2dweb physics. Since then we added support for asm.js physics, which is based on the compiled C++ codebase for the physics engine, and should run close to native performance. In that type of test it should make a radical improvement. Unfortunately they never updated their video, which is a shame, since it has been way faster for some time now.

  • I know how to fix it - installing Visual C++ redistributable solves the problem

    I've not heard of this before, and it's a bug if it's the case. Have you filed a bug report? Ideally the NW.js exporter can work at best performance without having to install anything extra (other than the DirectX web setup thing, which is a pain, but we had to have that for Construct Classic as well, which used... a native exporter).

    I don't think we'd make more money with a native exporter: it is an enormously expensive project, requiring more staff, more development and testing time, and other far-reaching implications (like third party plugins essentially become unportable unless the developer feels like doing 5x as much work for free). We'd probably have to put up the price of C2, or charge per-exporter like some other companies do, running up a high cost for the customer if they want all the export options. Given that it has all export options built in, C2 is one of the cheapest tools on the market.

    Independence from third parties never goes away unless we write our own operating system and device drivers. We could for example choose XNA, Haxe, Flash, or something else, and equally be hosed by problems in those frameworks.

    It's true we don't have control over the performance of browsers. It already works great on most browsers though. The performance of modern browsers is improving at an impressive rate. I haven't heard any complaints about the performance on desktop for as long as I can remember now, and I think that's enough to prove HTML5 is not fundamentally slow. The only reason mobile is sometimes slow is due to a Crosswalk bug that hung around for a while (and should be fixed in due course so it performs identically to Chrome - it uses the same codebase), and possibly the fact Cordova still doesn't use JIT on iOS by default (which should be fixed in iOS 9, and despite this I have very rarely heard of performance issues on iOS, so it seems to be OK already!) As I've said before... anything which has a fix on the horizon isn't much of a reason to give up on the technology entirely.

  • I guess you've read the blog post on spritesheets, although some details have changed (it now goes up to 2048x2048 instead of 512x512 for example).

    I agree the progress bar argument isn't really that relevant, but there are other significant considerations. It is a surprisingly difficult area with some interesting tradeoffs. One of the tradeoffs is compatibility with existing plugins, which is why currently only Sprite animations are spritesheeted. It's difficult to make changes to C2 at this stage, but I think we will make some improvements in this area for Construct 3.

    Here are some other factors that impact how spritesheets work:

    • Construct 2 automatically optimises images to PNG-8 when there are under 256 unique colors. The more images on a sprite sheet, the more likely it is to go over 256 colors. Therefore increasing the size of spritesheets can increase the download size.
    • The canvas2d renderer does not support rotated source images, which it looks like Texture Packer uses. WebGL can support this, but right now for compatibility with canvas2d images cannot be rotated to improve packing. I want to ultimately drop the canvas2d renderer, but now is too soon.
    • When downscaling images a long way, it is necessary to pad images out to power-of-two offsets in the sprite sheet to prevent mipmap bleed (which appears as thin lines appearing along the edges of downscaled images). This reduces the packing efficiency and increases memory use, but is mandatory to completely rule out this type of glitch and is why the "high quality" downscaling option exists. (I don't know if Texture Packer supports power-of-two alignment)
    • The performance test I use (an automated version of Space Blaster) is a pretty realistic test I think, and the framerate is the most important performance indicator. It does include GPU throughput, it is not a CPU-only measurement. When experimenting with the different spritesheeting strategies, I literally measured zero performance difference, even on an older mobile device (an iPad 2). I think modern drivers and GPUs are pretty good at swapping textures, and the main optimisation is actually a CPU optimisation so it doesn't have to issue "set texture" instructions, but that is pretty much a micro-optimisation and probably the least of all the concerns here. I do not believe there is any important GPU performance difference using individual images, one gigantic spritesheet, or anything else in-between.

    I also have no idea why you would ever want to manually intervene in the layout of the spritesheet. It seems to me almost completely pointless: they will have to be re-layout every time you add, remove or change an image, or even just changing some project properties causes a global spritesheet re-layout (such as changing the downscaling quality to/from "high quality"). If you manually put an image in some position on a spritesheet and then you change something else, the editor has two options:

    1) absolutely rigidly for all time insist that the image appears on the sheet where you put it. This is ridiculous, because it will reduce packing efficiency, since after a few edits it may save a lot of space to pack it somewhere else.

    2) do the automatic re-layout again and revert your changes. This makes it pointless to have a feature where you can change the layout of the spritesheet.

    Neither seems sensible, so I don't think it's worth having as a feature. C2's sprite sheet packer may not be perfect, but I think it's at least OK, it does the job of saving memory, and it does it automatically so you don't need to worry about it.

  • I'm not sure what to do about this, the physics engine is a big block of someone else's code and I've no idea how it ends up with those forces. Maybe apply less force depending on the timescale?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Were these games really running at say 20 FPS? Are they still playable like that?

  • You can try all past releases here: https://www.scirra.com/construct2/releases

  • It depends on your network configuration, particularly the NAT setup. It's not really anything to do with the .capx.

  • The thread you linked to contains a .capx with a number of events. Could you attach a minimal example made from scratch as per the bug report guidelines?

  • Can't reproduce here, it runs fine in all of Chrome, Firefox 39 and Firefox Beta (v40) here on a 2nd gen Moto X running Android 5.1. Perhaps the issue is specific to the device, Firefox version or Android OS version you are testing, but you did not include any of that information. Perhaps you are testing an older version of Firefox for Android which is buggy?

  • Thanks, good catch. Should be fixed in the next build.

Ashley's avatar

Ashley

Online Now
Early Adopter

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

Twitter
Ashley has 1,833,890 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