Self-proclaimed jack of all trades
Theo - Insane Anti Lag
For those who insane enough to put a lot of events on map
Version : 1.1
As most of you already know, lag is common problem in RPG Maker games. You may think it was because you have many events on map. And so, to avoid lag, you split your map into part and limiting the event as well.
It's not entirely wrong because when you have a lot of events, program need to checks all events. However, it wasn't done efficienly. This script increase the efficiency on how default script works and prevent unecessary update when it's not needed to gain speed.
However, I can not guarantee that it will have high compatibility since I overwrite most of stuff. I will likely to make compatibility with my own scripts. But I'm not sure about someone's script.
- Optimize Event XY. Registered all events into table for faster collision detection using default 32 x 32 grid movement
- Optimize Event Start. Registered any event that started to prevent check all event and see which is starting
- Optimize Sprite. Prevent update character sprites located on far away
- Insane - Table search. When you have insane number of events. It checked map table instead of iterating through all event. So, if you have 10.000 events you will have no worry about performance.
- Insane - Sprite dispose. When the sprite is off screen, it disposed immediately to prevent performance loss.
- Insane - Enhance page checking to prevent mini freeze when checking all event pages (*NEW)
Tested using Core i3 @ 2.40 GHZ, 4GB of RAM, Windows 7 64-bit with no additional scripts, I got following results :
- 150 x 150 map with 250 events. I got 60 FPS while no antilag I got 49 FPS at the minimum
- 17 x 13 Full load of events. All events are on high frequency. I got 30 FPS while no antlag I got 10 FPS
- 150 x 150 map with 10.000 events, all events are off screen. I got perfect 60 FPS while no antilag I got 1 FPS
- 150 x 150 map with 10.000 events, and have around 190 events on screen, I got 55 FPS at the minimum. While no antilag, I got 0 FPS.
- So far this will only works with default grid based movement, not intended to be used together with any pixel movement.
- Using insane mode antilag will only works if events on screen is around 250 despite of the total events on map.
- Using larger screen resolution may affect the performance as well
Final Note :
After all, these are just my attempt to speed up the game. Performance are still under influence by many factors. These include but may not limited to
- Your CPU speed
- Your laptop / PC temperature
- How much power do you give for your CPU
- Multi tasking
- Someone's scripts
If your CPU seems overheat, turn off your laptop / PC for a while for cooling. My laptop was once overheat due to broken fan. When I played my own game I got 10 FPS. I made my own antilag and no one of them worked until I realized my laptop was overheat.
Power saver mode in laptop may affect performance. Try to go high performance instead and let see if the lag gone. Once my friend played my game using power saver mode, and he got 15 FPS.
If you have many programs running at same time, it may cause a little lag in RPG Maker games. Something like the screen won't be updated for a while.
Some scripts can affect performance if it's not done right. This antilag script is tested using default script without additional scripts which directly affect something on map.
For scripter, feel free to modify my script to be better and better. You can edit and repost in your own version as long as you credit me, as TheoAllen or Theolized RGSS3.
Special Thanks :
- Tsukihime for performance analisyst
- KilloZapit who helped me to brainstorm this concept
Last edited by a moderator: