RPG Maker XP

RPG Maker XP

JAGIELSKI Jul 22, 2015 @ 2:22pm
Is RMXP still so slow?
I prefer XP's mapping system, to say Ace's or 2k3's. I really do, but all my experiences with it always ended because of event speed. Has it been improved since Steam release? And if not, is someone working on a rewrite of Interpreter classes and other default scripts? Because I don't think patching it up would do much good, complete rewrite would be needed.
< >
Showing 1-1 of 1 comments
Zeriab Jul 22, 2015 @ 2:56pm 
Not really,

I mean, there are some scripts which optimizes certain areas of the stardard scripts such as this: https://sites.google.com/site/zeriabsjunk/scripts-/anti-event-lag-system
But that's not really for event speed. There is one thing I am doing.

Interpreter 1 from line 106
#-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Initialize loop count @loop_count = 0 # Loop loop do # Add 1 to loop count @loop_count += 1 # If 100 event commands ran if @loop_count > 100 # Call Graphics.update for freeze prevention Graphics.update @loop_count = 0 end # If map is different than event startup time

That static loop counter is silly, this is a much better freeze prevention:
#-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # Initialize loop time @time = Time.now # Loop loop do # If more than three seconds has passed if Time.now - @time > 3 # Call Graphics.update for freeze prevention Graphics.update @time = Time.now end # If map is different than event startup time


There is also an issue on the battles
Scene_Battle 1 line 222
if $game_system.battle_interpreter.running?
An extra condition should be added which also check for whether any messages are showing
if $game_system.battle_interpreter.running? && !@message_window.visible

I.e. that code section ends up looking like this
#-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update # If battle event is running if $game_system.battle_interpreter.running? && !@message_window.visible # Update interpreter $game_system.battle_interpreter.update # If a battler which is forcing actions doesn't exist


Now remember that lag is the result of the processing cost each frame being bigger than the alot time dictated by the FPS.
By default RMXP has 40 FPS. This means each that each frame must be processed within 1/40th of a second. How much processing time it actually take depends on a bunch of different factors including the design and structure of your event code. It is possible to have very large events without suffering lag. It's also possible to have few badly designed events causing lag.
I cannot say whether you will run into problems again or not. RPG Maker VX Ace has the benefit of the (1.9.x) Ruby version running signficantly faster than the RPG Maker XP (1.8.x) Ruby version. The event command interpreter in RPG Maker 2003 is implemented in using much faster means.

I hope this helps you decide whether or not you want to risk trying RPG Maker XP again.

*hugs*
- Zeriab
< >
Showing 1-1 of 1 comments
Per page: 1530 50

Date Posted: Jul 22, 2015 @ 2:22pm
Posts: 1