User Tag List

Page 1 of 2 1 2 LastLast
Results 1 to 10 of 18

Thread: INI Crash and Slowdown

  1. #1
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    wii1mii's Avatar
    Join Date
    Sep 2012
    Location
    Estonia
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Question INI Crash and Slowdown

    Hey,

    So i ran into a werid behaviour today. I use INI to retrive different languages, however that have slowed down level selecting that is using array object.
    While playing around with INI I managed to get a consistant crash. If i delete INI object and then try to read from it, it crashes runtime, example included.

    When it comes to lag, I dont really understand why it appears as I only load ini at the start of frame and that is it. Its fine for all of the locations besides level selector frame where i load in preview via array. Sadly i cant post this version here, so if anyone from clickteam wants to look deeper into that issue please let me know.

    Video is more or less here:
    https://upload.catgc.com/img/a72b986...020d2d2496.mp4

    Edit: I found somewhat of a workaround, I can point towards a different ini that does not exist and it stops lagging. But that behaviour sounds still out of place for me.
    Attached files Attached files

  2. #2
    Clickteam Clickteam

    Join Date
    Jun 2006
    Location
    France
    Posts
    14,022
    Mentioned
    279 Post(s)
    Tagged
    3 Thread(s)
    I see what happens, a bit complicated to explain. As the INI object doesn't exist, the GroupItemString function (line #3) doesn't get completely evaluated (= it stops before reading all the parameters) and this crashes the expression evaluator. I don't think this can be easily fixed. Why do you destroy the INI object? You shouldn't need to do that.

    When it comes to lag, I dont really understand why it appears as I only load ini at the start of frame and that is it.
    The INI object uses the Windows INI API by default, i.e. I think it may access the file each time to read a value. If your INI is not updated by another application or sub-application, then you should unselect the new option "[Windows] Read changes from disk" that comes in the 2.5+ DLC. When this option is unselected, the INI file is loaded in the Set Current File function and the values are read from memory.

  3. #3
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    wii1mii's Avatar
    Join Date
    Sep 2012
    Location
    Estonia
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Thanks for such a quick response, the crash does not really bother me, its just something i found out. However what bothers me is following:

    -Start of Frame
    -Length of ini string is longer then X
    --Change string to ini value

    Then I would assume that after the first "Start of Frame" condition, the line would fail and further condition would not even be looked at. That would be good optimization vise, but I understand that there are some cases where it would make sense to check further events even after first condition fails. Maybe a new addition to "limited condition" where after first condition is failed it would skip the whole line, it would be really useful for optimization.

    Still lags even with "[Windows] Read changes from disk".

    Edit3:I guess workaround would be to disable the whole group of events after certain period of time.

  4. #4
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Volnaiskra's Avatar
    Join Date
    Jan 2014
    Location
    www.sprykegame.com
    Posts
    2,558
    Mentioned
    133 Post(s)
    Tagged
    0 Thread(s)
    sorry..double post.

  5. #5
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Volnaiskra's Avatar
    Join Date
    Jan 2014
    Location
    www.sprykegame.com
    Posts
    2,558
    Mentioned
    133 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by wii1mii View Post
    However what bothers me is following:

    -Start of Frame
    -Length of ini string is longer then X
    --Change string to ini value

    Then I would assume that after the first "Start of Frame" condition, the line would fail and further condition would not even be looked at.
    I think that's exactly what happens. After the start of frame, the 2nd condition gets ignored.


    If I do this: then hitting the delete button will cause a crash:




    But if I do this: then there's no longer a crash, which to me suggests that Fusion's no longer reading the 2nd condition:


  6. #6
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    wii1mii's Avatar
    Join Date
    Sep 2012
    Location
    Estonia
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    I think that's exactly what happens. After the start of frame, the 2nd condition gets ignored.
    It would make sense yes, but then I completely do not understand why following

    condition causes lag. As "LangSwitch" loop does not even happen on particular frame.

    Basically have about 120 conditions that look really similar to above picture. And they causes lag that you can see in the video i posted earlier.
    If i disable that group of events it is fine.

  7. #7
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Volnaiskra's Avatar
    Join Date
    Jan 2014
    Location
    www.sprykegame.com
    Posts
    2,558
    Mentioned
    133 Post(s)
    Tagged
    0 Thread(s)
    What happens when you split the event in the video into two events: one event for start of frame, and one for on loop? Do they both still cause lag, or only one of them?


    By the way, why do you need check for start of frame OR on loop? Why can't you just check for on loop, and in another event, run that loop on start of frame?

  8. #8
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    wii1mii's Avatar
    Join Date
    Sep 2012
    Location
    Estonia
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    What happens when you split the event in the video into two events: one event for start of frame, and one for on loop? Do they both still cause lag, or only one of them?
    Basically as soon as i point ini object towards the ini file it starts to lag, no matter if its start of frame or later during loop.

    By the way, why do you need check for start of frame OR on loop? Why can't you just check for on loop, and in another event, run that loop on start of frame?
    Well yes i assume i could optimize it by removing start of frame with or and just have it done via loop. Gonna try that now and revert back with update soon via edit.

    Edit: seems like that actually fixed the issue. Interesting. Well thanks for pointing me in the right direction!

  9. #9
    Clicker Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Volnaiskra's Avatar
    Join Date
    Jan 2014
    Location
    www.sprykegame.com
    Posts
    2,558
    Mentioned
    133 Post(s)
    Tagged
    0 Thread(s)
    Glad you got it fixed! But I'm now quite curious about what the issue was. I wonder if it's a problem with Start of Frame, or fastloops, or "OR", or something else If I had to guess, I think I'd guess that the problem might be to do with putting a green condition (eg. "on loop") underneath OR (where it no longer gets displayed as green).

    Quote Originally Posted by wii1mii View Post
    Basically as soon as i point ini object towards the ini file it starts to lag, no matter if its start of frame or later during loop.
    So, just to clarify, when you changed this event:



    into these 2 events:





    You got lag in all three of the following situations, yes?










    And if you don't mind, could you try replacing OR (filtered) with OR (logical) in this event and seeing if you still get lag?




    EDIT: I wonder if the problem is related to having two green conditions, because I just noticed something. If you replace Start of Frame with a non-green condition, then the On Loop condition suddenly becomes green




    If you do something like that, does the lag go away? If so, then maybe it was having the two green conditions in one event that was causing the issue (even though, logically, one would think that it doesn't matter, since you're not combining the two conditions but rather testing them separately with OR).

  10. #10
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperFusion 2.5+ DLCAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleUniversal Windows Platform Export ModuleSWF Export ModuleInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    wii1mii's Avatar
    Join Date
    Sep 2012
    Location
    Estonia
    Posts
    107
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Issue was rather not in:



    But in:



    Since as soon as it activated everything started to lag with previous condition set



    With OR (logical) also seems fine.



    I guess that narrows it down to OR actually making fusion to check for every condition in the line, I guess that makes sense now that i think about it.

Page 1 of 2 1 2 LastLast

Similar Threads

  1. Major slowdown leading to crash
    By Warmachine in forum Fusion 2.5
    Replies: 15
    Last Post: 31st May 2014, 08:44 AM
  2. slowdown in mmf!
    By Mart393 in forum Hardware Accelerated Runtime
    Replies: 0
    Last Post: 31st October 2013, 06:17 PM
  3. [CRASH] Google Play Crash Report: java.lang.NullPointerException
    By tom79 in forum Android Export Module Version 2.0
    Replies: 1
    Last Post: 1st August 2013, 04:08 AM
  4. [CRASH] Memory Object Runtime Crash with Allocate(
    By LB in forum Extension Development
    Replies: 8
    Last Post: 4th September 2011, 09:04 AM
  5. Causes of slowdown
    By stuckboy in forum Multimedia Fusion 2 - Technical Support
    Replies: 8
    Last Post: 22nd December 2007, 09:20 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •