[RM2K3] HOW TO BENCHMARK EVENT COMMANDS
Posts
Pages:
1
I was talking with Tor_Heyerdal about how we could measure how much performance impact certain operations in events really have (and I don't mean by stalling the FPS due to automatic limiting, or by waiting for next frame, but actual processing time). Just doing something 1 million times in a loop doesn't work in an event because it will interrupt execution after 10,000 event lines and continue next frame (that's a limit in RM).
So, I did a quick DynRPG plugin that measures time between @starttime and @endtime commands in 100-nanoseconds-precision. It opens a console window, the output is printed there. (The @endtime command takes an optional string parameter that is printed to the console as well.)
Here is the plugin complete with an example project that measures loops running 1000 times: https://www.dropbox.com/s/6xyf80l7bw29fp4/Benchmark.rar?dl=0
Maybe it is helpful to somebody to better understand what is happening in RM event commands time-wise.
This is pretty bare-bones so far. It could be improved by allowing to accumulate multiple test results and creating an average, etc... - In the test project, always "talk" with the guys several times to get a better idea of how it behaves average-wise.
Oh by the way, the 10,000-lines-limit in RM can be changed with a quickpatch (adjust the numbers):
So, I did a quick DynRPG plugin that measures time between @starttime and @endtime commands in 100-nanoseconds-precision. It opens a console window, the output is printed there. (The @endtime command takes an optional string parameter that is printed to the console as well.)
Here is the plugin complete with an example project that measures loops running 1000 times: https://www.dropbox.com/s/6xyf80l7bw29fp4/Benchmark.rar?dl=0
Maybe it is helpful to somebody to better understand what is happening in RM event commands time-wise.
This is pretty bare-bones so far. It could be improved by allowing to accumulate multiple test results and creating an average, etc... - In the test project, always "talk" with the guys several times to get a better idea of how it behaves average-wise.
Oh by the way, the 10,000-lines-limit in RM can be changed with a quickpatch (adjust the numbers):
[QuickPatches]
EventLinesExecutionLimitForegroundEvents=4B2C11,#1000000
EventLinesExecutionLimitParallelEvents=4B301B,#1000000
EventLinesExecutionLimitBattleEvents=4B39DD,#1000000
Pages:
1














