Poor C2 Editor Performance On Larger Projects

  • Ashley, I am having a really hard time here. It seems like you are not reading the post and details, I find myself repeating myself a lot. Mostly everything you ask is already posted in detail throughout this thread. Your understanding of the issue is also off. You are saying your machine is not affected, but then prove it is.

    Let's not play what-if games. That is a deep dark road. Let's get facts. And the first thing is finding out why your software is taking 1 second to pop a dialog on W10, while W7 is instant.

    You yourself, have shown it is taking 1 second for the dialog to pop. Now, grab a W7 machine and try it. You will see the dialogs open instantly.

    The first step to get over this issue is finding out why that dialog is taking 1 second versus being instant. What is it about C2 specifically that causes it, and is there a way to fix it?

    If you believe 1 second is "ok", please go back to my example of coding C3. Pretend every single line of code has a 1-second entry delay. How many lines of code did you write? 1000? 10,000? 100,000? That is how many seconds of your life you lose to an issue like this. 1 second is also not normal, as proven in this thread. It should be instant.

  • Hey, got the similar issue with my project too.

    Here are two GIF's with adding an event and adding an action.

    Please note that it's even slower than in GIFs due to the specific of the recording software.

    It's not pleasant, but not extremely awful too. I just hope it won't get any worse.

    giphy.com/gifs/3o7525okcGSZHHGT7O/html5

    giphy.com/gifs/3o7522qlbf8CkEMsY8/html5

    My specs: i5-4670K, 16Gb RAM, Win10, GeForce GTX 1060 6Gb, C2 is installed on HDD, System runs on SSD.

    Thanks!

  • All I can observe, in a worst-case scenario with a setup that is so slow it takes half an hour to open the project, is it still only takes 1 second to open the dialog. It has to fill it with several thousand items in such a large project, so it doesn't seem unreasonable it would take that long. It is probably limited on the performance of Windows' implementation of the controls that are being filled with a lot of content.

    If the performance issue was in Construct 2's code, I should have been able to observe it in the setup I previously used. Since project loading is in Construct 2's code, and that was all unoptimized and running very slowly, as expected I could observe project loading taking an extremely long time. However when it comes to opening the dialogs, I could not observe anything as bad as anyone is reporting here (i.e. 6-7 seconds). That suggests the slowdown is not in Construct 2's code. As further evidence to that there is apparently variance across Windows versions and possible correlation with Windows updates, which further suggests that opening the dialog is bottlenecked on the Windows internal implementation of filling up controls with lots of data.

    Assuming this is the root cause here, unfortunately we cannot take responsibility for the performance of the internals of the Windows operating system. If that is the case, it's not clear what we can do about it. What would you propose we do?

  • humanescape Did you check your graphics card and if you're using a Windows application?

    Gotta check those out

  • Ashley

    I assume you can still have a profiler on the dev version of C2 running while observing the 1 second opening on your end? That can give some hints? Catch the call that takes a lot of time. There might be something small that causes a hickup on newest version of windows, possible even a security vulnerability thing. Looking won't hurt at least. Comparing it to Windows 8 can help too.

  • I did a quick check of the dialog opening code and it does indeed spend a lot of time adding icons to the dialog, which is handled by Windows.

  • Beautiful. So it has been faster before, so Windows did something that makes what you use unusable.

    The earth moves, so do you.

    There are options to make it work fast again. A change to how the icons are loaded may be needed. A different way of showing them, or alternatively having them populate the dialog on the fly like so:

    1. action popup opens with a text or other light way of showing objects that haven't loaded their icons yet.

    2. icons load la-la, you can can still use the search and select an object you wanna use. Most of the time your typing what you need will take a second.

    Like while implementing stuff fast, you know what object you need to select and what action to add, so you really don't need to see all of the objects at once anyway.

    Alternatives: The thing that "add action" button does, can it be preloaded so that it doesn't need to do "the thing that is slow" every time you add an action?

    --edit

    What if from a certain point onwards, the icon cache on windows 10 is not big enough to accomodate all of the icons in your project, thus they need to be reloaded each time you click "add action"

    Now a windows update might've decreased the size of the cache or done something that increases the footprint of the C2 icons.

  • I did a quick check of the dialog opening code and it does indeed spend a lot of time adding icons to the dialog, which is handled by Windows.

    I really don't know what to do here Ashley. I have tried short replies, long replies, put realistic test cases and data points together which you have ignored, I have put together oodles of examples and data, I have proven that C2 is not performing properly, I have shown the issue is widespread (affecting over 90% of your W10 users), I have offered my own time ontop of the many hours (probably even days by now) to help. For the most part, you have been very unwilling to help, to debug the issue, and have overlooked almost every fact we have gathered for you. And all we get is a "quick check" into the issue, with no resolution or further details? Do you really not care about your users that much, that you would blatantly push this bug to the side? What do you want. How can we move forward in order to solve this issue with your software.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I think based on my previous post, there is good evidence the problem is not in C2 code and is in Windows code. If the problem is in C2's code, then on a setup that is slow slow that it takes 30 minutes to open a project, how come it can open a dialog in 1 second? And how come it varies across Windows versions? It seems very likely it's bottlenecked on Windows.

    Now, it seems Microsoft have done an update that regresses performance in some of the code used to start up this dialog. This puts us in a tough spot. I genuinely don't think it's fair to blame us for this. It sucks and users just want it to work, but I think it is unhelpful to pressure us to act over something that the evidence points to being in Windows. Are you just letting Microsoft off the hook here? Why be so combative and blame us for everything?

    It is possible that we could refactor all our dialog code and try to find another way to do things that is faster. There are a number of problems with this:

    • I can't reproduce the problem to the extent others report. So I don't know if the code I write will really help.
    • Some of the related APIs in Windows, especially the icon ones, are incredibly old, crufty and inflexible. It was a pretty big headache just getting it to work like it does. I'd expect it to be very difficult and time consuming to change, and it really sucks that we would basically be wasting valuable time trying to compensate for what looks like Microsoft's mistake.
    • There's no guarantee that a whole new approach would actually end up being faster. We'd still be using the Windows APIs, which the evidence points to being the problem.
    • Imagine about a dozen other threads where users are being just as insistent as here that we must do X, Y or Z, and right now. Time is by far our most limited resource. We simply cannot do everything right away. I've pointed out already that the bug report FAQ says to allow several weeks just for a review. I've tried to make a special effort to look in to this more quickly given the attention around it. If you don't appreciate this and just keep blaming us for everything, it's hard to justify bumping it up the schedule over what others are asking for.

    Unfortunately I don't think we have any good options here. I genuinely don't know what is the best thing to do about this.

    At least Construct 3 isn't affected. For years many of our users insisted that native was better than HTML5 and the web would never be as good. How things have changed...

  • I think based on my previous post, there is good evidence the problem is not in C2 code and is in Windows code. If the problem is in C2's code, then on a setup that is slow slow that it takes 30 minutes to open a project, how come it can open a dialog in 1 second? And how come it varies across Windows versions? It seems very likely it's bottlenecked on Windows.

    @Ashley, you have not provided any solid evidence that it is Windows issue. And, as stated, even if it was, ultimately it is your software that is suffering from it. As for the "worst case scenario" we are showing, we have shown in this thread, even smaller projects have the issue (the bigger project was a POC to show you the issue). If the issue was Windows, don't you believe all software would have issues? How do you explain me being able to run Android Studio, Plex, 2 VM's, Photoshop, Adobe Illustrator, all at once with zero issues but C2 lags?

    That, if anything, points to C2 is the issue.

    Now, it seems Microsoft have done an update that regresses performance in some of the code used to start up this dialog. This puts us in a tough spot. I genuinely don't think it's fair to blame us for this. It sucks and users just want it to work, but I think it is unhelpful to pressure us to act over something that the evidence points to being in Windows. Are you just letting Microsoft off the hook here? Why be so combative and blame us for everything?

    Fair or not, ultimately the issue lands on your lap. You have not proven it to be Microsoft. That is why the pressure is on you. If you have proven it to be Microsoft, how? What evidence do you have? Is this sufficient evidence? You are the creator of the software, if you believe Microsoft is to blame, do you not believe the onus is on you, not us, to approach Microsoft?

    It is possible that we could refactor all our dialog code and try to find another way to do things that is faster. There are a number of problems with this:

    - I can't reproduce the problem to the extent others report. So I don't know if the code I write will really help.

    - Some of the related APIs in Windows, especially the icon ones, are incredibly old, crufty and inflexible. It was a pretty big headache just getting it to work like it does. I'd expect it to be very difficult and time consuming to change, and it really sucks that we would basically be wasting valuable time trying to compensate for what looks like Microsoft's mistake.

    - There's no guarantee that a whole new approach would actually end up being faster. We'd still be using the Windows APIs, which the evidence points to being the problem.

    - Imagine about a dozen other threads where users are being just as insistent as here that we must do X, Y or Z, and right now. Time is by far our most limited resource. We simply cannot do everything right away. I've pointed out already that the bug report FAQ says to allow several weeks just for a review. I've tried to make a special effort to look in to this more quickly given the attention around it. If you don't appreciate this and just keep blaming us for everything, it's hard to justify bumping it up the schedule over what others are asking for.

    As previously stated, 1 second dialog is part of the issue. And, you need to load a project for a very long time sometimes to hit the larger performance issue. From your replies, you have not tried this. You also have not provided much to us for what you have tried.

    If you could,

    Exactly how long is C2 idling for Windows to do Icons in W10?

    How long is this taking in Windows 7?

    This might help determine if it is related to this area, or not.

    Again, the onus is on you because you do not provide the users (even though we have asked) the tools. You yourself, put yourself in this position by not giving us proper tools to diagnose the issue.

    Unfortunately I don't think we have any good options here. I genuinely don't know what is the best thing to do about this.

    At least Construct 3 isn't affected. For years many of our users insisted that native was better than HTML5 and the web would never be as good. How things have changed...

    I and others have provided plenty of options. You have dismissed them all.

    Essentially, and correct me if I am wrong, you are essentially ending C2 support as of this bug. You are letting a serious performance bug go without correction on W10, the current major OS used by many users. We are not talking about XP here, that would be understandable. This is the current OS you are no longer supporting.

    Is my understanding correct?

  • I couldn't help but notice this line in your comment Ashley. I would have edited my previous post to include this response, but I did not want it to get lost in the previous message (for anyone who already read it).

    If you don't appreciate this and just keep blaming us for everything, it's hard to justify bumping it up the schedule over what others are asking for.

    That is not very professional like. You have literally dozens of people in this thread alone, trying to explain to you that their small projects are suffering from this bug and losing precious time to C2 spinning its gears. I would have thought, a whole major OS having issues running your software would have been a huge concern to you. I see now, I was wrong. My bad, sorry, I won't report any more bugs to you, I would hate to inconvenience you.

    This is not the way to get people to come forward with issues. To be perfectly honest Ashley, that comment was uncalled for and really talks down to your users. You are pretty much telling us, don't report bugs, don't tell me my software has any issues if you do you are going straight to the back of the line no matter what it is. And maybe, just maybe, I might get to it someday. That is the way you are coming off. Perhaps this is why so many users are not even bothering reporting this issue. A lot of the users who told me they have this issue had no care to even report it or comment on this thread because they assumed this is exactly how you would respond.

    I am just shocked is all. The complete disregard for a widespread issue on a major OS, and you say this issue is going to the back of the line because you don't like the issue at hand? You are making everyone on Windows 10 suffer. Put emotions aside, and think about the issue at hand. A whole platform, a whole major OS, is affected. Is that not a concern to you?

  • Seems like its starting already, For the past few days I've noticed that about every c2 bug that Ashley replies to ends with "Well at least it works/is fixed in C3"

  • Ashley, you have not provided any solid evidence that it is Windows issue

    Yes I have. You are just ignoring it.

    [quote:39v75y2p]How do you explain me being able to run Android Studio, Plex, 2 VM's, Photoshop, Adobe Illustrator, all at once with zero issues but C2 lags?

    These apps probably use completely different code.

    [quote:39v75y2p]if you believe Microsoft is to blame, do you not believe the onus is on you, not us, to approach Microsoft?

    If we can't reproduce the problem, then we can't file a useful report with anyone else. Nor can we answer any engineers investigating the issue, e.g. "try changing X, does it help?" - we can't say if it does or not. This is why we ask users who are directly affected to do so.

    [quote:39v75y2p]Exactly how long is C2 idling for Windows to do Icons in W10?

    This question does not make sense, because C2 is not idling in this situation.

    [quote:39v75y2p]That is not very professional like.

    We're a small team, and we're only human. If you are refusing to co-operate and believe the things I say, I will probably prioritise my time with users who do co-operate and believe the things I say. I've made a special effort to investigate this issue ahead of the normal schedule and have spent some time detailing the evidence I've found and, with the experience of dealing with thousands of bug reports, what I believe it points to the cause being. If this counts as "complete disregard", then I am sure nothing I do will please you. I think you are just trolling me, so I will step away from this issue for the time being and return to it on our normal schedule, or if any compelling new evidence is raised and discussed in a constructive and co-operative manner.

  • Ashley

    Trolling? C'mon now. Lots of people have the issue. Even on brand-new, higher-end PCs. The inability to address the root cause can in no way be pinned on users. That's not how product support works.

    And I thought part of the point of the subscription model for C3 was to allow an increase in headcount? Make up your mind, dude.

  • Ashley, firstly. I am sorry for these long winded responses. I did not think I had to write such in-depth responses, but clearly they are needed.

    What evidence have you exactly provided? I cannot seem to find anything that suggest you have provided solid evidence of what the cause is. I find it strange because you say you have not reproduced the issue, but yet know who is to "blame" (I hate to say blame, but you keep throwing that term around. Playing the blame game gets no one anywhere's fast. I could care less about blame, I just care about the issue being fixed)? How can you say what is wrong, without reproducing it and knowing exactly what needs to be done to fix it? And, if you know what the issue is, could you please enlighten us in detail? If I missed this evidence you speak of, could you please point me to where you have solid findings of what causes this issue.

    I also have trouble here, because you keep saying you cannot reproduce the issue, but have shown you hit the issue yourself. I have asked numerous times for results on certain testing, but you have (mostly) ignored my every attempt to help out. You have said a 1 second delay is normal, but when I question why it is instant on W7, and gave an example of if C3 had a 1 second delay per line of code you wrote, would that not be an issue. . . you ignored that completely.

    To be clear (and this is just one example, there are many), numerous times I have asked you to compare W7 to W10 to notice the difference in performance. I have not seen your results for this test. I have also asked you for more details in regards to what you have tried and found (all for the sake of determining the root cause of this bug). Each time, you have provided vague answers, or completely ignored them altogether. Only after asking a few times, did you go into a few details (but as stated previously, leaving out a lot of crucial details to make the replies meaningful to the bug report). I am not sure why I need to ask so many times the same thing for you to finally provide some details. This thread could have been 1 page long had this been handled differently.

    Again, no blame game here. I am asking, or suggestion, perhaps moving forward you could try to be a bit less vague with your answers? These types of responses don't help, and delay the bug further. They also cause unnecessary clutter and the need for further clarification.

    This question does not make sense, because C2 is not idling in this situation.

    Perhaps idling was not the right word. When C2 is lagging, what is it doing. That is what I meant. Comparing W10 to W7, what is the difference when you debug it.

    We're a small team, and we're only human. If you are refusing to co-operate and believe the things I say, I will probably prioritise my time with users who do co-operate and believe the things I say. I've made a special effort to investigate this issue ahead of the normal schedule and have spent some time detailing the evidence I've found and, with the experience of dealing with thousands of bug reports, what I believe it points to the cause being. If this counts as "complete disregard", then I am sure nothing I do will please you. I think you are just trolling me, so I will step away from this issue for the time being and return to it on our normal schedule, or if any compelling new evidence is raised and discussed in a constructive and co-operative manner.

    I don't believe anyone could seriously take me as a troll with this bug. The amount of effort I have shown in trying to get this resolved, really surprises me you could even call me un-co-operative and a troll. I only want to get this issue fixed.

    The fact that you are making a whole platform suffer, because you think I am trolling, is just unbelievable. Are you overlooking the numerous examples, pictures, user-accounts, and videos posted throughout this thread by numerous users?

    I have shown C2 has performance issues on Windows 10. There is solid evidence and a ton of data collected on it in this thread.

    I have offered up my time to you. I have offered to help on many occasions. You have ignored my every request to offer help. I have offered talking to you over a sharing session, so you can see the issue and debug it further. I have offered to send you a VM. I have offered to debug the issue if you send me the proper tools. Every. Single. Request. You have ignored. So, how exactly am I being un-co-operative and come off as trolling? I (and many others, as seen in this very thread) genuinely want this issue fixed.

    To be clear. If you get any hint, of anything other than me wanting to have this bug solved. Please re-read this entire thread (I would recommend this anyways, so you can see how many questions have gone unanswered and possibly answer them, and perhaps you might see I have the most sincerest regard with this bug). My goal here, is to find and have fixed the C2 Performance issues in W10. I have no other intent, except to help the community. Many members of the C2 community are affected by this bug. Many have thanked me many times for my due diligence and suggestions to help mitigate the issue. I ask you Ashley, if you truly think I am trolling you should re-read all of these post from start to finish. You have the wrong idea, and there is a large misunderstanding. Let's get that cleared up so we can move forward and better C2 for the community. If we don't, slowly overtime you are going to see more and more of these reports by various users as more people jump to W10 and projects get larger. You are going to have frustrated users who started C2 as a beginner and their C2 lags as their projects get more advanced. People who have moved on from C2 before Windows 10, are going to come back to a nasty surprise when they try and update old projects on their new W10 machine. I'll ask again because you have not answered, is none of this a concern to you? Do you not care about C2's performance on W10 despite the amount of users who have reached out and provided valuable feedback on this issue?

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