Is Construct a fast engine?

This forum is currently in read-only mode.
  • Well i've expirimented with the program and attempted to create some easy danmaku patterns in order to test out the events, but it wasn't long before I hit that horrible wall that I hit in every engine i've tried so far: lag.

    It seems that I can't have more than 1000 bullets onscreen at a time, but believe it or not it's so easy to go beyond that and the fps keeps flickering, actualy disrupting the pattern and changing the symmetry of the patterns. Is Construct a good idea for a touhou-like game?

  • I've spent a lot of time optimising the engine, so I would say it is very fast. The drawing of the screen is hardware accelerated (uses the GPU), and that part is basically limited by your hardware. What's your graphics card? If you have a really powerful one, you could have maybe 10,000 objects on screen and still get a decent framerate. 1000 is still a lot - if you have 32x32 textures, your graphics card is still having to push over 70 million pixels to the screen every second, assuming 75fps display - that's around 270mb of pixel data per second. Luckily graphics cards are good at just that! Also are you using pixel shaders? They can incur a large overhead for many objects.

    As for events, they're not as fast since events involve more processing overhead. But it's hard to say say without knowing any more about your events. What kind of framerates, hardware, events and rendering are you using?

  • I've spent a lot of time optimising the engine, so I would say it is very fast. The drawing of the screen is hardware accelerated (uses the GPU), and that part is basically limited by your hardware. What's your graphics card? If you have a really powerful one, you could have maybe 10,000 objects on screen and still get a decent framerate. 1000 is still a lot - if you have 32x32 textures, your graphics card is still having to push over 70 million pixels to the screen every second, assuming 75fps display - that's around 270mb of pixel data per second. Luckily graphics cards are good at just that! Also are you using pixel shaders? They can incur a large overhead for many objects.

    As for events, they're not as fast since events involve more processing overhead. But it's hard to say say without knowing any more about your events. What kind of framerates, hardware, events and rendering are you using?

    Oh it could be it, for some reason I can't get my computer to lead me to the specifics again but from what I remember my graphics card is alittle outdated. But the RAM was pretty good if I remember my specs well enough.

    As for the events, I had two big bullets create smaller bullets every frame, the smaller bullets having no events at all. and the pixel shaders must be working because effects work just fine.

  • Construct does all rendering on the graphics card - which generally has its own memory on-board. So I'm afraid your system RAM won't affect the rendering at all - it depends entirely on the quality of the graphics card.

    Which effects are you using? If you can get away with no shaders, or only pixel shader 0.0 effects, those should be a good deal faster than 1.1 and up.

  • Construct does all rendering on the graphics card - which generally has its own memory on-board. So I'm afraid your system RAM won't affect the rendering at all - it depends entirely on the quality of the graphics card.

    Which effects are you using? If you can get away with no shaders, or only pixel shader 0.0 effects, those should be a good deal faster than 1.1 and up.

    Well bullets generally dont use effects other than transperacy values (taken from photoshop) and occasional additive blend for lasers and brighter bullets.

  • Speaking of which can I use photoshop png's with transperacy values? When I copy pasted from photoshop I had a white background so maybe I need to import/open it in the sprite editor instead of pasting but I havent tried it yet.

  • Do you really need all those objects? The particles object is much better at producing... well particles, and it seems that's kind of what your wanting. Keep in mind you cant do collision detection on the individual particles.

    Speaking of which can I use photoshop png's with transperacy values? When I copy pasted from photoshop I had a white background so maybe I need to import/open it in the sprite editor instead of pasting but I havent tried it yet.

    Um..I dont think you can paste from the clipboard. You create an object, that in turn generally opens up the editor. From there you can import your .png's, .bmp's, .tif's... pretty much everything except .gif's

  • Do you really need all those objects?

    I assume the goal is to make a bullet-hell shmup, in which case particles wouldn't cut it. You would need sprites for collision.

  • > Do you really need all those objects?

    >

    I assume the goal is to make a bullet-hell shmup, in which case particles wouldn't cut it. You would need sprites for collision.

    Yeah, not to mention particles arent really as controllable as sprites or objects XD

  • I think it's really fast until you go into anything effects heavy - like using canvas objects for overlay passes or motion blur or heavy pixel shaders or whatever - then it really starts to slow down.

    But I'm really happy with the performance already. A typical 2d game without moBlur and heavy effects should still run nicely on most of the machines out there.

  • If your objects are small and rank in the thousands, the bottleneck is probably in the set up stage.

    I doubt Construct uses batching, given that you can run in hardware with no pixel shaders.

    amirite?

  • Still there could be some optimization on that. I mean if you get hit by 50 things at one time, who cares which one hits last. Also your formula 2 bullets per frame seems a bit off. The frame rate would vary widely across different machines... unless that's including timedelta.

  • I think it's really fast until you go into anything effects heavy - like using canvas objects for overlay passes or motion blur or heavy pixel shaders or whatever - then it really starts to slow down.

    But I'm really happy with the performance already. A typical 2d game without moBlur and heavy effects should still run nicely on most of the machines out there.

    I wonder...if a sprite has both opaque and transparent bit, like with png format, does it take more place?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I tend to backup what im trying to describe with a video, once you see it you might notice why I need so many objects onscreen, as im going for the same video game genre

    Obviously the whole game is never that hard but it's still existant.

  • Your example probably would be taxing on most low end machines, but probably less for the amount of objects, and more for what they are doing.

    Still most machines should be able to run something similar. It didn't seem to me that there was much over a thousand objects at a given time there.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)