View Single Post
09/13/15, 08:06 AM   #18
Arterion
Join Date: Apr 2015
Posts: 10
Originally Posted by ZOS_ChipHilseberg View Post
We have an improvement in the works to increase the performance of saved variable write out by 3 or 4 times which should help with that (this would impact /reloadui and logout times).
Getting rid of all the space characters used for indentation? Because that definitely needs to be done! I don't even need tab characters. I can configure my text editor to indent appropriately. I would even be okay with going so far as omitting the newline characters! One long line is fine. The data format is unambiguous.

I also find that when I am profiling performance, I have to look at frametime rather than fps. I may be getting a playable 40 fps, but if my average frametime is 20 ms with a spike of 110 ms twice a second, then the game will seem jerky.

Here is some test data I gathered on ReloadUI times. My SavedVariables folder is 198 MB for 76 Addons, so this is an extreme case. 102 MB of that is a single file: PriceTracker.lua. So disabling the Addon PriceTracker nearly halves the SavedVariable size. I am on a fast SSD, so actual time spend waiting on the disk is minimal. This is almost all engine performance. For reference, My CPU is a AMD FX 6300 running at 4.4 GHz.

I tested three states:
1) No Addons Enabled
2) All Addons Enabled except PriceTracker (96 MB, 75 Addons)
3) All Addons Enabled (198 MB, 76 Addons)

Below I list the average ReloadUI times going from one state to another (or simply reloading the same state). There was very little variation running the the same test multiple times.

67 sec, All Reload
31 sec, All -> None
55 sec, All -> All except PriceTracker

7 sec, None Reload
31 sec, None -> All except PriceTracker
43 sec, None -> All

41 sec, All except PriceTracker Reload
11 sec, All except PriceTracker -> None
55 sec, All except PriceTracker -> All

It seems like ReloadUI writes the files then re-reads them back into memory. It also seems like writing is quite fast, while reading takes more time.
  Reply With Quote