View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0013188 | Return of Reckoning | General | public | 2023-08-13 03:47 | 2024-06-20 00:06 |
Reporter | ReturnOfReckoning | Assigned To | Emissary | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | no change required | ||
Summary | 0013188: [Core Addon] DataUtils performance issues | ||||
Description | Reporter: Silentguard Function turn off wrong flag which prevents it from proper caching inventory request. This typo produce massive fps drops and memory leak while using MiracleGrowRemix and Bag-o-matic. Please let me know if you can't fix core addons. function DataUtils.GetCraftingItems() if (GameData.Player.**craftingItemsDirty**) then GameData.Player.**itemsDirty = false** DataUtilsData.craftingItems = GetCraftingItemData() end return DataUtilsData.craftingItems end file_path: EASystem_Utils\Source\DataUtils.lua | ||||
Tags | Scripting | ||||
Commenter: sullemunk Don't know why Miraclegrow and the other addons doesn't snagg its data from GetCraftingItemData() instead of DataUtils.GetCraftingItems(). But yeah, we can change it to ignore the "dirty" check |
|
Commenter: Silentguard GetCraftingItemData() is C to Lua data translation. Its very performance expensive and thats why EA provide DataUtils which should cache this call. Fix to solve issue: **GameData.Player.itemsDirty = false** > **GameData.Player.craftingItemsDirty= false** |
|
Commenter: sullemunk thats a strange function indeed, Does it get updated after 1:st run? it checks if GameData.Player.craftingItemsDirty is true and if it is sets it to false, wich means the next run will not fetch new data |
|
Commenter: MaxHayman Currently it never sets craftingItemsDirty so it always assumes its dirty and doesn't use the cache. |
|
Commenter: sullemunk the other functions do the same: DataUtils.GetCurrencyItems() DataUtils.GetQuestItems() DataUtils.GetEquipmentData () etc.. checks if dirty is true; update , set it to false , no more updates on calls |
|
Commenter: Silentguard **GameData.Player.craftingItemsDirty** and other flags AIK set to true by client internal inventory update event. Not by addons. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2023-08-13 03:47 | ReturnOfReckoning | New Issue | |
2023-08-13 03:47 | ReturnOfReckoning | Tag Attached: Scripting | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023895 | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023896 | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023897 | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023898 | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023899 | |
2023-08-13 03:47 | ReturnOfReckoning | Note Added: 0023900 | |
2024-06-20 00:06 | Emissary | Assigned To | => Emissary |
2024-06-20 00:06 | Emissary | Status | new => closed |
2024-06-20 00:06 | Emissary | Resolution | open => no change required |