It looks like OnPluginTick isn't getting called at all, let alone 25 times per second, if other plugins are doing a lot of work on a lot of input.
Having, for example,
local reset_on_tick = false
function OnPluginBroadcast (msg, id, name, text)
if (msg == 999 and text == "repaint") then
Note("repaint broadcast from "..name)
reset_on_tick = true
end
end
function OnPluginTick()
Note("tick")
if reset_on_tick then
reset_on_tick = false
Note("repainting")
Repaint()
end
end
and replacing all calls to repaint in other plugins with related broadcasts results in this...
Quote:
tick
tick
tick
tick
tick
tick
tick
run 6e
tick
tick
tick
tick
Great Andolor Highway (3210)
repaint broadcast from Aardwolf_BigMap_Graphical
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
North of a Great Carnivale (3209)
repaint broadcast from Aardwolf_BigMap_Graphical
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
A dusty field (3208)
repaint broadcast from Aardwolf_BigMap_Graphical
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
Fields near the Dragon River (3207)
repaint broadcast from Aardwolf_BigMap_Graphical
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
The Dragon River (3206)
repaint broadcast from Aardwolf_BigMap_Graphical
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
A Small Village
repaint broadcast from Aardwolf_BigMap_Graphical
There are several small fields filled with crops surrounding a cluster of
log houses here. People dressed in rough woolen clothing are scattered
around doing various activities which keep any small, rural settlement
alive. In the distance, a young boy can be seen watching over a flock of
sheep, and a woman seems to be carrying water back to one of the houses.
Several men seem to be heading for the larger town, and its extensive
forests. There is a very large forest a bit farther to the east, and the
people of this village seem to be avoiding it, almost desperately. The
skyline in that direction seems to give off a bright shimmer, almost as if
the trees themselves glitter softly.
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_Ascii_Mapper
repaint broadcast from Aardwolf_GMCP_Mapper
[Exits: north east south west]
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
repaint broadcast from Aardwolf_Statmon
repaint broadcast from Aardwolf_Health_Bars
< 3039/3039hp 2324/2324mp 3191/3211mv 3341tnl 820737g Quest=0 Dbl: 10 > < -2470 >
INFO: Zodiac raises a level. Now up to level 195.
INFO: Bladedge raises a level. Now up to level 12.
tick
repainting
tick
tick
tick
tick
tick
tick
If this is expected behavior, something in the helps should indicate it. Currently forum posts and the very limited documentation on OnPluginTick indicates that we can expect 25 updates per second, not 25 or 0 updates per second. It doesn't even fire in between other plugin events. |