1StepCloser's Recent Forum Activity

  • You do not have permission to view this post

  • What I want to know, is the overhead with enabling / disabling at this frequency actually going to end up making it slower than just executing everything 50 times per second?

    Enabling / disabling + the groups actions called 5.1 times per second will be more performant than executing the actions involved in said groups 50 times per second.

    However, don't take my word for it, just test it (this goes for pretty much all performance questions)

    run 5 times per second (instead of 50) for the HUD display items (scores, radars etc).

    I recommend a system that updates X when you change X, rather than updates X on a timer.

    For example,

    Timer based (Not recommended, imo)

    Character earns 1 point

    Every x Seconds:

    Score text updates to current point total

    Trigger based

    When character earns a point:

    Update score text to current point total

    Is it possible for you to work on your project from a different device to rule out if it's device specific?

    Time will tell, but r321's performance improvement for autocomplete has significantly improved autocomplete performance in my project.

    Thank you Ashley.

    Have you given it a try yet dop?

    Dop, Ashley checked the bug submission and was able to reproduce the issues I mentioned.

    If you'd like to weigh in on it, as figuring out the solution appears to be difficult:

    So I'm afraid it's not clear to me what else could realistically be done at this time.

    github.com/Scirra/Construct-3-bugs/issues/6301

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads

    If you can reliably reproduce an issue with Construct, please file an issue. You don't need to share your whole project, you can just fill a project with dummy content.

    github.com/Scirra/Construct-3-bugs/issues/6301

    > When I'm at "choo" while typing, I'd personally only want "choose" and "chooseindex" to populate in the dropdown list, not "clocktext".

    I agree. Not only these long lists are slow, they become less and less useful when they contain hundreds of objects mixed with expressions and variables.

    Filtering them as you type is one solution. Another option would be splitting the list somehow, perhaps displaying two or three lists side-by-side - one with expressions, another with objects, and the third with variables.

    Ahh, that's a good idea too, when you are going for choose(), there is no need to populate the list with variables and objects.

    Either/both of those (dropdown limit, dropdown category) could be useful.

    > In your gif, once you select the choose function, the dropdown list has to clear the elements, could this be a factor?

    Not sure what you mean, which elements? Theoretically, the number of objects and variables in the project should not affect system expressions like "choose" at all.

    Another possibility is that its actually Chrome that causes these freezes (as Asmodean suggested in his comment), because it does something as I type, like performs a spell check. I disabled the spell check yesterday, but I can't tell yet if it helped or not..

    I'm referring to the # of elements in the dropdown list.

    I'm wondering if the issue lies in how each of those elements are removed from the list, and I was wondering if that removeChildCall is involved.

    To further explain:

    In my video example, the blank project has an element list of 1, while the larger project has an element list equal to the total # of groups in the entire project, as the dropdown list shows every single entry, but sorts based on the entries that match closest.

    In your gif, you see how the list remains even when you are at "choo"?

    This is why I mentioned the preference to set the specificity of the dropdown list to the top (10,20,etc) entries.

    When I'm at "choo" while typing, I'd personally only want "choose" and "chooseindex" to populate in the dropdown list, not "clocktext". This is now a list of 2, which presumably would make clearance of the dropdown list much smoother (if that's at all a factor).

    (Scrolling all the way to the bottom of the list)

    If all entries are populated in the list regardless of what's typed then as a project grows, so does this list.

    Of course this doesn't mean it's the issue, but if I had the option to set the dropdown list limit to: 20

    And then performed the same test I showed in the video, and I saw an improvement, I'd like to think that suggests the element count in the dropdown list is involved.

    1StepCloser I know what you are talking about. C3 begins to lag when populating long lists of objects or expressions/variables. But these lags are relatively small, in largest projects I've seen the lags were about a second or two. It definitely doesn't explain random 10-20 second freezes in my case. They are probably related to the same functions, but something else makes the issue much worse.

    Yeah, the 10-20 seconds lags are hard for me to reproduce and suggests a more catastrophic failure.

    You mentioned a removeChildCall, I ran a quick test comparing a large project vs. a fresh project, testing the time it takes to clear the dropdown list.

    Subscribe to Construct videos now

    In your gif, once you select the choose function, the dropdown list has to clear the elements, could this be a factor?

    Ahhh, at last, someone brings up this issue, thanks dop.

    I have this problem and its effect is proportional to the size of the project (in my experience)

    It's become so bad in larger projects that I've had to remove the majority of my global variables so they wouldn't fill in with the drop down list when typing.

    My Triggers:

    • If I have a lot of global variables
    • If I have a lot of objects
    • If I have a lot of instance variables for an object and I type the "." to access the objects expressions/attributes
    • If I use the action: Set group active and I have a lot of groups due to autofill dropdown list

    Basically anything that falls under increasing the count in the dropdown list seems to influence the frequency of this lag/freeze.

    I wish there was a way to modify the dropdown list, such as:

    • Only show the top (10,20,etc) results
    • Only show results if the length of the typed string is at least X characters long

    If I find some time, I might show a recording of just how slow this can get.

    Project I'm working on is large: 2500 objects, 15k events.

    If I open a new project it's smooth as butter for these operations.

  • Just my opinion:

    If you are getting into the indie game dev scene for financial reasons, then keep this in mind:

    1. There are far more practical means of securing a stable income in other career fields.

    2. Financial gains tend to come at the completion of a project, which for games of high quality will probably take multiple years.

    Thus, those using financial gain as an incentive for the development of a project will probably not be able to handle the significant, delayed wait combined with the significant workload required to complete high-quality projects.

    3. Most projects don't make it to completion due to various reasons, keep this in mind in terms of how soon you'd get a return on investment.

    4. (My opinion) It's hard to make a good game, even more so as an indie. It often requires a certain willpower that goes beyond motivation, beyond financial incentive, a willpower that carries you through the darker times when it feels like you are getting nothing done.

    So, for your own sake, I recommend focusing on the expression of your own ideas, your own stories rather than how much money you want to make.

  • Hello dazed,

    I've had this happen to me about 3 times that I can recall. The latest of which was just a few days ago.

    For me, this issue usually pertains to function parameters, either when I move them around or rename them.

    It would be nice if Construct could automatically perform a check, every now and then, to determine if the project you are saving can be opened.

    However, what you can do as a band-aid approach, is periodically attempt to open the project in another window while you work on it.

    You could for instance do this every time the 2 hour notification pops up.

    This would still mean you'd potentially lose 2 hours of work, but it's better than losing a full day.

1StepCloser's avatar

1StepCloser

Member since 1 Mar, 2018

Twitter
1StepCloser has 3 followers

Connect with 1StepCloser

Trophy Case

  • 6-Year Club
  • Forum Contributor Made 100 posts in the forums
  • Regular Visitor Visited Construct.net 7 days in a row
  • RTFM Read the fabulous manual
  • Email Verified

Progress

10/44
How to earn trophies