A question for experienced developers in C2/C3...

0 favourites
From the Asset Store
[C2] [C3] Support C3 build service and Android 14
  • I try to avoid using all kinds of effects these days. My current project doesn't use a single effect and it runs really well on even low end PCs with full HD assets. However as soon as I add a few effects it starts lagging a lot on some of them. Even on some good computers as well.

    My other game for example ran good on all my test computers but when I released it on Steam I realized that this wasn't the case for tons of users. So I removed the effects in my game and now I haven't had a performance issue report on steam in months.

    So I avoid effects like the plague now It's not worth the risk imho. I use other techniques to achieve the look I want instead.

  • I try to avoid using all kinds of effects these days. My current project doesn't use a single effect and it runs really well on even low end PCs with full HD assets. However as soon as I add a few effects it starts lagging a lot on some of them. Even on some good computers as well.

    My other game for example ran good on all my test computers but when I released it on Steam I realized that this wasn't the case for tons of users. So I removed the effects in my game and now I haven't had a performance issue report on steam in months.

    So I avoid effects like the plague now It's not worth the risk imho. I use other techniques to achieve the look I want instead.

    Hello Anonnymitet i saw your game and it looks very fun to play what kind of effects made the lagging?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It was just regular effects like adjust hsl, and brightness and stuff like that. But not many and I didn't overuse them at all. Integrated graphic cards are a nightmare and doesn't seem to handle effects well and I had no idea so many people used it until I released my game I have exactly the same problem on unity with image effects so it isn't just c2/c3.

    But I really like working in construct and for me it doesn't really matter. As I said, I can easily make it look the way I want without using effects.

  • ErekT Thank you for posting your results.

  • It seems like C2 outperforms GMS2 by quite a bit on this benchmark. Which makes me wonder why my own game performs significantly better in gms than construct. The game logic is structured about the same, and the gpu load should be more or less identical. Hmm...

    People often accuse Construct/HTML5/browsers of having poor performance, but when it comes to actual measurements, it actually performs excellently.

    I think it's quite possible that if you reimplemented your whole game exactly the same way in a different engine, it would still be slow. If you use a huge amount of intensive logic for example, that is still going to have to be run no matter the technology you use, unless you optimise it. I'd guess since events and script are so different, you actually used a lot less logic in GMS, so it's not really a fair test.

  • That's fair. There's a good possibility that if I'd rebuilt the game from scratch in C2, and gotten rid of all

    the trial-and-error gunk that's still left in there from my first go at it, it would run faster.

  • This is a good subject, I had some issues developing a simple infinity jump game.

    Even running on browser (PC) it was not smooth, fps were not 'fixed'. First I thought that the problem was on my sprites and changed the whole project from 1080 to SD, for my surprise I kept with bad fps.

    And, why? Why?? My project had about 120 events, not many..

    So, I did the whole project again with event optimizations, I got a big difference in performance.

    Should be nice to have a documentation with examples of good practices, showing where and how it affects in both cases, also should be nice to have a graphic showing which event is using more resources and how many times it triggered and when..

    Know what I mean?

  • I'll chip in my 3 cents since I've been using construct sine construct classic v0.033. For a long while I've been using i5 4200u laptop ( my workstation is far away in another country), and GM games I played seam to perform better. I've played Nuclear Throne and Hyper Light Drifter ( thought this one only work stable 60fps when using external audio interface for sound processing ). My way smaller in scope projects perform much much worse thought, and I do optimise and keep my events as logical as possible. Window size makes a huge difference too. So benchmarks are all good and dandy, but once you start applying logic to the game, it starts falling flat. But point and click games like Deponia should work flawlessly thought, although games like Rayman will most probably lag every now and then unless you wont have that many interactive elements on the layout. But overall it's not that bad, but always creates the feeling that "it's not there yet" and that is always disappointing, sometimes giving you a falls impression that if you will do more then it will certainly be fixed, but it won't , and you will waste a lot of your time. Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.

    I know I sound harsh, but this is how it is on my side.

  • Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.

    I can't remember on which thread it was discussed, but to get rid of those frames you may try to put all the objects that will be created on this layout on it. Basically put them all on the layout (layout view), destroy them at the beginning of the layout, then create other instances when you need them. That way the new object are already in memory and creating them shouldn't slow down the game.

    If you're doing this already, then I may misunderstand what the problem is.

  • megatronx

    Rable

    I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    https://www.scirra.com/store/construct2 ... oader-3620

  • > Also, will those jerky frames on the beginning of layout will ever be taken care off by the scirra? Only construct does that.

    >

    I can't remember on which thread it was discussed, but to get rid of those frames you may try to put all the objects that will be created on this layout on it. Basically put them all on the layout (layout view), destroy them at the beginning of the layout, then create other instances when you need them. That way the new object are already in memory and creating them shouldn't slow down the game.

    If you're doing this already, then I may misunderstand what the problem is.

    You have completely misunderstood the problem. and your solution is not a solution or even a workaround cause instead of conserving memory your are filling it all up right at the start.

    It's hard to believe that C3 is still that dumb to not be able to unload stuff from memory whenever you want.

  • megatronx

    Rable

    I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    https://www.scirra.com/store/construct2 ... oader-3620

    20$ for something you can do in few events... don't think so.

  • > megatronx

    > Rable

    >

    > I use Toby's preloader plugin which makes it easy to preload what you need and get rid of that initial jank forever <img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile">

    >

    > https://www.scirra.com/store/construct2 ... oader-3620

    >

    20$ for something you can do in few events... don't think so.

    For several years there were tens (maybe hundread+?) of threads in regards of initial layout lag, layout preloading, layout preloading progress both in percentage and progressbar, etc... and all of them ended without a reply or with something like "it's not possible in C2".

    After a long and deep investigation of C2 engine source code I finally managed to make a plugin which allows you to easily do all the mentioned things and solve the frustrating related issues.

    If all what's possible with MM_Preloader is doable with "few events" then it would mean that I lack some serious piece of knowledge about C2 and wasted a lot of time making this plugin <img src="{SMILIES_PATH}/icon_e_wink.gif" alt=";)" title="Wink">.

    But I seriously doubt that and instead I think that you shinkan do not fully understand what MM_Preloader is and what it can do.

    I know it's not MM_Preloader's thread but let me just briefly say that MM_Preloader can preload (load into memory) graphic assets of specified layout with a single action. It scans the layout and goes through the layout initial objects list which is NOT possible with C2 events. It can load for instance 500 (or more) objects with a single action which is NOT possible with C2 events. It can also preload in the lazy way (with specified delay) and has some other features like preloading the C2 engine (which is possible with C2 events, but that's just an extra addition to the plugin, still much more comfortable with MM_Preloader than C2 events).

    If you have any questions please do not hesitate to contact me directly or in proper thread in regards of MM_Preloader. I'm very keen to provide any info and answer any questions.

  • shinkan Please write a tutorial on how to preload several layouts which results in zero transition time between layouts and no initial lag and how to make that "with just a few events". That would be a very interesting read as it is not possible in C2. At least not without this plugin

    Anyway, I really recommend the plugin for anyone who is serious about making games for a living and don' want to have to worry about long and laggy transitions between layouts.

    I'll leave it here and let the thread go back on topic.

  • Well the only thing you can't do with C2 is "preload" an asset that's not in the the current layout, and get some confirmation that it is loaded.

    Loading assets that way should be discouraged even though there is no formal recommendation, other than layout by layout loading.

    I've seen several threads advising people to place all the assets on one layout, and that's a bad idea imho.

    If you want to do that then by all means, go buy the plug, just don't blame C2 if you can't figure out why the regular method doesn't work.

    Ps: the reason the regular method might not work is because the assets are too heavy.

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