Poor C2 Editor Performance On Larger Projects

0 favourites
From the Asset Store
Firebase: Analytics, Dynamic Links, Remote Config, Performance, Crashlytics on Android, iOS & Web Browser

    - Have you joined the C2/C3 discord server yet? It's better there to communicate since we can share info faster and the others can help us out too.

    Here is the link. Meet us there.

    Please be patient. This issue is only about a week old and was filed over the holidays when everyone was out of office.

    I took a look at Slow.capx. It seemed OK to me. I have a high-end machine, but I ran a debug build with optimisations disabled which usually more than cancels out the fact it's a high-end machine; despite that it still opened quickly enough (I'd say ~1 second). After a few quick checks I realised the project has around 1000 global variables and most of the work opening the dialog seems to be filling the dropdown list with 1000 entries.

    So all this report proves so far is "editing actions using event variables is slow if you have 1000+ variables", which is a really specific situation. It sounds like there's some confusion in this thread over what the problem really is. It seems there may be different cases which are also slow, but unless there is a separate report for those, complete with example projects and reproduction steps such as in this case, I don't have anything to work with. So please try to narrow down each individual case; it seems unlikely that everyone here has a project with 1000 global variables and are repeatedly editing actions with variable parameters.

    FYI C2 lazy-creates icons, so the first time you open a dialog it goes and creates thumbnails of the objects in the project. Lazy-creating is important to avoid reaching the 10000 graphics object limit in Windows - it avoids creating icons for things that aren't used or looked at. This would be difficult to change, since if we create icons in advance, it will in some cases unnecessarily use more of the Windows limit. (In C3 we spritesheet icons so, fingers crossed, this should never be a problem ever again in C3.) Anyway, it explains why the first open is sometimes slower, but in a long session only the subsequent opens really matter, so that's what I'd prefer to focus on.

    This is why i switched to Unity.

    For my project, it's definitely the object count that causes the problem once it triggers. I deleted everything except objects when I had the project running slow. Strangest thing is tho, right at this moment it's working just fine.

    if you make an extreme test case, I'll test that too to see if it can be reproduced reliably.

    Oh and I have Win10 too, latest updates. Setup is otherwise fast enough to run new games good.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads

    Just prioritize this please Ashley . I've been tweaking OS settings and registry for days now.

    I need example projects and steps to reproduce. I don't have anything other than this event variables edge case to work with or prioritize right now.

    How do you explain W10 taking 1 second to load, while W7 is instant? Let's tackle that first to see if it helps.

    I've no idea. Maybe Win10 added a new feature to dropdowns which has greater performance overhead or something.

    > Just prioritize this please Ashley . I've been tweaking OS settings and registry for days now.

    >

    I need example projects and steps to reproduce. I don't have anything other than this event variables edge case to work with or prioritize right now.

    > How do you explain W10 taking 1 second to load, while W7 is instant? Let's tackle that first to see if it helps.

    >

    I've no idea. Maybe Win10 added a new feature to dropdowns which has greater performance overhead or something.

    There are plenty of options to try and help ASHLEY. For example, sending us a debug build so we can provide you with data points to look into. We have shown this issue is not on all systems, so you have not really had a chance to try to reproduce it. You would need to try multiple setups most likely. It is an issue, and we have been able to reproduce it.

    Can you look into why the dropdowns are slower? If we can answer that it might help. As mentioned, on some W10 machines, the dropdown takes 1 second at first and instant after that. others, it is always 1 second. Something is going on there which is part of the issue. Saying Windows 10 must have changed something, does not make sense in this case...or else it would be the same across the board. It also is not just dropdowns that are affected, just in this case to be as concrete as possible it is. But there is also huge differences in all dialogs, and even copy/paste variables.

    I'd even be willing to spend a few days to set-up a VM for you to test, as I have shown it is recreatable on my VM. I just need a windows key from you, and then we can setup bitsync to send it.

    Having the same issue, which started with either r249 or r250 on a project that hasn't grown past its size previous to r249. This is on a fairly high-end PC that's less than 4 months old, running Windows 10.

    The issue only occurs with Construct 2 and is definitely not an issue with the PC itself - nor is it likely an issue with Windows 10, as the PC OS/drivers have not been updated since the time when Construct 2 was working properly. The project itself does not have thousands of variables, or objects, so it's not likely the project size is the main (or only) culprit either.

    With the specs of the machine, there's little reason outside of an issue w/ Construct 2 itself that simple dialog boxes or popup menus should sometimes take 5-10 seconds to open, especially when it's the only piece of software running. Pretty sure if I can run 3DSMAX & After Effects simultaneously with zero performance hits, C2 shouldn't be causing such issues - it's not doing anything nearly as complex in the IDE as 3DS or AE is doing.

    Specs:

    Win 10 Enterprise

    i7 7700K 4.2 Ghz

    64GB RAM

    I have also experienced lag in the editor on my project

    First I would like to thank for your persistence in making and maintaining this bug report. And also the others for testing and providing us with their data.

    And also, thank you Ashley for giving time to check this out.

    Attach a Capx

    ____ Upload a Capx to this post ____

    https://1drv.ms/u/s!AjcW2ueud6qp9XKToYjiVhFlwk9n

    The .capx is 96.5MB but it could have been atleast 10MB if I didn't add some few big sprites. Just in case it helps imitate a real project.

    Description of Capx

    The .capx contains :

    +1000+- objects

    +1 Event Sheet

    +32 Layouts

    +20,000 instances of global instances. (UID)

    The project file will show how slow the dialog popup, loading time of objects and event making in Construct 2.

    Base on my previous tests. I tested this problem with the previous versions of C2 by converting my base project in order to make sure this is not an update problem. Those previous versions were R215, R228, R229 and R250. I actually could go on but I already found out my answer.

    The problem occurs and should occur in all versions of C2.

    It is a C2 design flaw that was not a problem for mainly 2 reasons:

    1)Windows 10 requires new methods of optimization since as you said Ashley "Windows 10 has greater performance overhead or something".

    Windows 7, 8 and 8.1 are without a doubt faster but inferior in features.

    2)Previous projects didn't use a lot of objects or atleast not near to meet the limit to reach the 5 seconds delay.

    Windows 8.1 runs this project with lots of objects quite fast but I also noticed delays after reaching 500 objects especially 1000 objects but

    nowhere slow as Windows 10.

    So the problem is actually there just requires more push in older OS versions.

    I actually have noticed this problem back on R229 and made a bug report because the dialog popup takes 1.5 seconds and I suspected that it was the update but afterwards reporting it I noticed that it was actually not but my project got bigger and had more objects and it got slower in dialog popup. But I eventually just endured it.

    Now Just a few months ago I bought a new laptop and noticed C2 got slower from 1.5 ~ 2.0 seconds to about 3 seconds. But I was not using the

    event sheet frequently. I was editing layouts, adding objects and using spriter for months so I ignored it.

    Now I'm back to the event sheet and noticed after importing more sprites. It takes 5 to 10 seconds!

    This is to confirm that object count really does affects C2 editor performance.

    Steps to Reproduce Bug

    Cache Unique Icons (Best Performance)

    • Set C2 to Cache Unique Icons.
    • Open .Capx
    • Open EventSheet1
    • Add Event (Yeah it's slow, that's how why create events now. A big pain!)

    No Unique Icons (Least Memory)

    • Set C2 to Don't show Unique Icons.
    • Open .Capx
    • Open EventSheet1
    • Add Event (Yeah it's faster but still slow, that's another way we create events. A big pain too!)
    • You can also remove the variables, layouts and events easily just in case you want to make sure they are not causing the performance problem.

    Observed Result

    Slow Response Time. Here is an estimate reaction time:

    Windows 10 : (High Specs) (Dedicated GPU)

    Cache Icons : Crash or 10 to 20 seconds.

    No Unique Icons : 5 to 10 seconds

    Windows 8.1 : (Low Specs - 4GB Shared Memory) (FanLess CPU)

    Cache Icons : 3 seconds.

    No Unique Icons : 1 to 2 seconds.

    Expected Result

    Instant dialog popup especially those with good computer specifications.

    Operating System and Service Pack

    Windows 10

    Construct 2 Version ID

    R215, R228, R229 and R250

    - amazing capx! It took 2 min 30 secs for the c2 editor to open it and then, once it was running (with 1.67 Gb of memory used..!) it was totally unusable - sluggish or broken dialogues (not responding) etc.

    Just out of interest I dragged the capx into c3 - it took about 1 min to digest it. All appeared ok (190 Mb memory used) and at least the layout editor showed me the sprites that were not displayed on c2. However it crashed when I clicked to view an event sheet... Stuck on Loading....

    Mmmm.

    i5-3320M 2.60GHz, 1g Gb RAM, SSD drives.

    - amazing capx! It took 2 min 30 secs for the c2 editor to open it and then, once it was running (with 1.67 Gb of memory used..!) it was totally unusable - sluggish or broken dialogues (not responding) etc.

    Just out of interest I dragged the capx into c3 - it took about 1 min to digest it. All appeared ok (190 Mb memory used) and at least the layout editor showed me the sprites that were not displayed on c2. However it crashed when I clicked to view an event sheet... Stuck on Loading....

    Mmmm.

    i5-3320M 2.60GHz, 1g Gb RAM, SSD drives.

    Hahahah thanks. Try it on an old/inferior PC with Windows 7, Windows 8 or Windows 8.1 . You'll get amazing performance.

    At best, less than a second delay. Almost instant.

    Thank you for putting this together

    Here are my stats in testing this capx:

    W7 machine:

    Tested on a 6 year old probook, running W7. Phenom II, barely can even run Chrome.

    Open project: 9 minutes (vs 15 min)

    Usable once open: <1 minute (vs 5 min)

    edit action: < 1 second (vs 8-15s)

    edit event: < 1 second (vs 8-15s)

    add new sprite (from right click, add, to editing it): instant (vs 30s)

    moving sprite on screen: instant (vs 15s)

    Copy/paste 1 variable: 2 seconds (vs 21s)

    (the vs in brackets is using a 6700k, SSD, 32 GB ram W10 machine that has no problem running multiple VMs at once. while loading slow, the computer is under little to no load and has plenty of room to do things).

    Ashley please keep in mind this is a POC (Proof of Concept) CAPX to show the issue. The numbers above speak for themselves. We have spent countless of hours putting together all of this data and test for you. If you could kindly look into this issue a bit further, that would be appreciated. The count of the users affected keeps rising with the number of C2 devs I have been asking to try out these tests. It is clearly an issue multiple people are suffering from, all using well-known software/hardware ranging from low to high-end machines.

    Update:

    I wanted to see how long I could go without a restart today and to prove my point that this whole 1 second dialog is not normal, and is part of the issue. This morning dialogs took 1 second to pop. Within a few short hours, the dialogs were taking 6-8 seconds. No load on the computer at all. No other applications were going slow. To test, I even opened Android Studio, Photoshop, 2 VM's, an Android Emulator, 20+ Chrome Tabs, and CS:Go. Literally nothing but C2 was lagging.

    After a reboot, back to one second (which, 1 second is still too much and is abnormal).

    This is not observed on my Windows 7 Machine. It goes all day without this slowdown.

    The big difference is, the Windows 7 Machine does not suffer from 1-second dialog pops each time. Whatever is causing the lag, seems to be the root of all evil here. Whatever is preventing that menu from caching correctly, compounds throughout the day and gets worse.

    Tried your capx on 2 laptops (both with r246 version of C2):

    New i5-7200U, 8Gb RAM, SSD, Win 10 - project took 3.5 minutes to load, dialogs take 5-10 seconds to open, everything is laggy.

    Five years old i7-3630QM, 8Gb RAM, SSD, Win 8.1 - project took 3+ minutes to load, but dialogs are opening almost instantly, previewing is also fast.

    Looks like you are right, performance is much better on older machines.

    Tried your capx on 2 laptops (both with r246 version of C2):

    New i5-7200U, 8Gb RAM, SSD, Win 10 - project took 3.5 minutes to load, dialogs take 5-10 seconds to open, everything is laggy.

    Five years old i7-3630QM, 8Gb RAM, SSD, Win 8.1 - project took 3+ minutes to load, but dialogs are opening almost instantly, previewing is also fast.

    Looks like you are right, performance is much better on older machines.

    Thank You for testing. The more data and confirmation the better support for the bug fix to lessen the range of devices Ashley need to reproduce it.

    New Update: Performance Workaround

    This is not a fix but just a workaround to lessen delays that nearly matches Windows 8.1 performance.

    In case you want to keep Windows 10. Effective with larger projects!

    I have found out that the newer your Windows 10 version is, the worse the performance of the C2 editor becomes.

    That means if you have the Fall Creators Update, the worse you're off.

    Also aside from that, there are also other factors in losing performance especially for pre-built computers or laptops.

    Windows 10 Update incompatibility

    If you are using a laptop, you should check this link :

    https://answers.microsoft.com/en-us/win ... 923?auth=1

    According to Microsoft, some computers (ehemm.. Mostly!) aren't compatible with new major updates like the Fall Creators Update, Creators Update and Anniversary Update.

    Microsoft knows that most computers are incompatible and they are aware that they are forcing incompatible devices into upgrading even after downgrading.

    And even if your computer is in the list, there is still a high probability your manufacturer missed something and your compatibility is substandard. Mostly it's because of Windows 10 overriding your manufacturer drivers and custom settings with new Windows 10 upgrades.

    Hence, poor C2 performance. I tried it!

    Once you're upgraded, you can still downgrade. Although, your manufacturer's backup is surely deformed.

    So a recovery format is not an option, it will still result in poor C2 editor performance.

    Fortunately, I have a backup of all my laptop's recovery partition in different external HDDs and FlashDrive.

    So if you have one secured, then your efforts haven't been for nothing.

    So the solutions are:

    Solution 1: For laptops/Pre-built (Windows 10) with Manufacturer Recovery Backup

    If you bought a laptop from 2017, chances you have is the Windows 10 : Anniversary Update or earlier.

    Backup your files and preferences and format your laptop to your manufacturer Windows 10 version.

    Manufacturer drivers will be restored and do block all future updates.

    I don't like to do those things too since there are some benefits too but it's the best way since Microsoft

    sees ordinary W10 versions are for regular users and use them as beta testers for their broken updates.

    To benefit the business sectors which makes sense.

    Solution 2 & 3 continue here!

    For Home versions only, if you have a Wifi as your main connection, set it as a "metered connection".

    Thus, preventing forced updates. Although, you will still be reminded daily. AFAIK.

    And you can also "defer updates" but unlike Windows 10 Pro, there's no guarantee.

    For Pro+ versions only, if you have a Wifi as your main connection, set it as a "metered connection".

    Thus, preventing forced updates. Although, you will still be reminded daily. AFAIK.

    You can also tweak some Group Policies and such which you should check at the link above or below.

    And unlike Home versions, you can defer updates with more guarantee.

    For all versions, Microsoft has made an official update blocker for incompatible devices with their updates.

    It does find and can block other updates but I can't find the Windows Fall Creators Update to block it.

    Even when the upgrade keeps popping up once everyday, so I just ignored it and set my Wifi as a "metered connection" so it

    won't force me and only ask me to download it.

    But in case if it works our for you guys, here is the link :

    https://www.groovypost.com/howto/block- ... pdate-why/

    Solution 2: For laptops/Pre-built (Windows 10) without Manufacturer Recovery Backup

    I suggest a clean install on your computer. Download the Anniversary Update [I have tested] and download your

    manufacturer drivers and etc. from your manufacturer website.

    Then continue above...

    Solution 3: For Non-Laptop Computers / Non-Prebuilt (Windows 10)

    You have it easy, just do what you normally do. Clean Install and download drivers and etc.. from your hardware manufacturer

    websites. Although as much as possible download the compatible Windows 10 version of your drivers.

    Or to be safe, download the Anniversary Update version or older.

    Then continue above...

    I always suggest the Anniversary Update of Windows 10 because that is what I'm using and tested thoroughly.

    Mainly because my Laptop's manufacturer version is the Anniversary Update. So you can go for older versions if you want and it

    can probably even be better. Just not newer versions like the Creators Update.

    Again, this is not a fix but just a workaround to lessen delays that nearly matches Windows 8.1 performance.

    In case you want to keep Windows 10. Effective with larger projects!

    There also was an update for Windows 10 released a few days ago to address that major security flaw in Intel processors:

    https://support.microsoft.com/en-us/hel ... -kb4056892

    I feel like after installing it my C2 runs much slower.

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