Nice. Thank you!
Kauzz
Creator of
Recent community posts
Cool, so you already know this issue, or may I'm doing something wrong?
(I've just copyied the ULS controler and two lights from example to my room, without casting that colliders shadows)
My version is actually from the yoyo marketplace haha, I doesn't have the itch version. Do you have sure you fixed this on that plataform too? (I've downloaded and imported directly from my library on GMS yesterday)
I've called the ds_list_clear just for guarantee, but if you think doesn't needed I could remove and try to make the profiling tests again.
*** Edited my first post with the profiler print
== Performing issue when too much time with room open ==
*I'm posting here because probably could help more people with the same problem I was having
Hey Lucas, how are you? idk if you still is around, but, 1~2 years ago i've tryied to use your system on a project mine. The project was huge, the map has near 7k pixels on width and height. Testing the game, I saw the game starts to slowly looses fps. If I keep the room opened too much, the fps goes under 60 and worse. I tought it was something on my code, or even on the map size. I've just deleted the system and left without illumination.
Today I've tryied again to use, but, on an smaller map. Added two lights on the map, turn on the debugger, and started to do some other stuff afk. 1h later, the fps_real decreased from 2700 to 2100.
I know, 1h in the same room, and not even 30% of FPS loose. Isn't 'big deal', right? But, for me, considering I'll use more lights, on bigger maps, more objects and etc is it. Looking trough the debugger and profiler, I saw the problem is on the object lights, specifically on ds_list_create. I guess somehow the ds_list isn't deleting after use on the memory, and starts to slowly takes too much from processing.
The object start consuming just 5% of the processing power and i've ended the run test with the object on 40%. Somehow the ds_list_create is 'stacking' on my rooms. On the example rooms, the ds_list doesn't show up on the profiler console, I mean, this 'leak' kinda of doesn't exists there, but we have a lot of other process consuming more %, so I guess the gms makes the ds_create low-priority.
The way I've solved this: (but not necessary the correct one)
above line 91 i've added an ds_list_clear(_list)
above the line 102 (after close surface) I've added an 'if' and ds_list_clear(_list) and ds_list_delete(_list)
I haven't finished the test yet, but looking at the processing log, the framerates and etc increased a lot comparing with the old one, but I'm pretty sure this may could make some other part of the scripts doesn't work properly, but, until now, everything is working nice.
Could you take a look on the code and see if what I did is the best option (and test by yourself this little 'leak')?
Thank you! :)