diff options
author | shennetsind <ind@henn.et> | 2013-10-27 18:02:20 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-10-27 18:02:20 -0200 |
commit | 6cec6e91de4f7490a48a5a145ab3d54efc7fc2c1 (patch) | |
tree | d3accf00aab232dea6c2b1f4104d3b50d6485f59 /src/map/map.h | |
parent | 830aa82793adc2a009e12d9eb9eda20e29a0c9a8 (diff) | |
download | hercules-6cec6e91de4f7490a48a5a145ab3d54efc7fc2c1.tar.gz hercules-6cec6e91de4f7490a48a5a145ab3d54efc7fc2c1.tar.bz2 hercules-6cec6e91de4f7490a48a5a145ab3d54efc7fc2c1.tar.xz hercules-6cec6e91de4f7490a48a5a145ab3d54efc7fc2c1.zip |
Performance Improvement: hpmeter
whenever a character's hp was modified (e.g. damage/heal), clif_hpmeter would look for nearby characters with the PC_PERM_VIEW_HPMETER permission (foreachinarea operation), and since most of the time there isn't such a char nearby it would needlessly consume processing power, now hpmeter is only triggered when there are actual need (when a character with such capabilities is within the map). as little as this may look like, its a mega boost for damage-intensive areas e.g. woe, whereas a single AoE damaging 10 people would, without this, trigger foreachinarea 10 times one very hit.
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/map.h')
-rw-r--r-- | src/map/map.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/map/map.h b/src/map/map.h index c8b043acb..6b7d2a630 100644 --- a/src/map/map.h +++ b/src/map/map.h @@ -706,6 +706,9 @@ struct map_data { /* ShowEvent Data Cache */ struct questinfo *qi_data; unsigned short qi_count; + + /* speeds up clif_updatestatus processing by causing hpmeter to run only when someone with the permission can view it */ + unsigned short hpmeter_visible; }; /// Stores information about a remote map (for multi-mapserver setups). |