Concept: Move Statics to own Bin-File
Hello,
yesterday on my way home from work, I had a fancy idea about increasing the speed of worldsaves.
The main problems are the I/O-operations, they cost most of the time. So we could probably avoid unnecessary ones.
What could be for example unnecessary? Statics/LocalizedStatics.
On my shard e.g. there are very much Statics/LocalizedStatics and they normally don't change (they are not named Statics for no reason )
So my main idea was to put Statics to own binary files (maybe also differenced by Map) and to resave this files only if a GameMaster removes, adds or modifies one.
To increase the performance we could also create a new Dictionary in World.cs similar to m_Items where we save all the Statics, which should be now no longer in m_Items.
Single problem here: We have to check every reference of World.Items if it's still valid and we have to think about the Serial.cs how the Statics will get their Serial (maybe here we need also modifications in Item.cs!).
Then we could easily modify the Backup-Method (so that it doesn't remove the Statics-Files on Backup, if they don't change) and the WorldLoad/WorldSave-Method.
What do you think about this idea? Did I forget anything?
I'm looking forward to your feedback
Bye,
Odin
Hello,
yesterday on my way home from work, I had a fancy idea about increasing the speed of worldsaves.
The main problems are the I/O-operations, they cost most of the time. So we could probably avoid unnecessary ones.
What could be for example unnecessary? Statics/LocalizedStatics.
On my shard e.g. there are very much Statics/LocalizedStatics and they normally don't change (they are not named Statics for no reason )
So my main idea was to put Statics to own binary files (maybe also differenced by Map) and to resave this files only if a GameMaster removes, adds or modifies one.
To increase the performance we could also create a new Dictionary in World.cs similar to m_Items where we save all the Statics, which should be now no longer in m_Items.
Single problem here: We have to check every reference of World.Items if it's still valid and we have to think about the Serial.cs how the Statics will get their Serial (maybe here we need also modifications in Item.cs!).
Then we could easily modify the Backup-Method (so that it doesn't remove the Statics-Files on Backup, if they don't change) and the WorldLoad/WorldSave-Method.
What do you think about this idea? Did I forget anything?
I'm looking forward to your feedback
Bye,
Odin