Pure Insanity
Sorceror
You haven't programmed any specific .net 4.0 features...the features you quoted me on are specific features programmed into RunUO that uses the .net 4.0 framework. Bit different...doesn't matter for your project.
There has been one issue though that may need to be addressed quickly;
After a period of 4 hours, the saves start gaining time, the amount of time is not equivalent to the increase in mobiles and items to be saved during that time.
The amount of time gained is an average of 1 to 3 seconds on each consecutive save.
Eventually this time will reach a point where it matches the old save times, at this critical point, the shard starts hanging and won't accept connections.
Although this does not happen every time, it has happened twice as far as I know.
sorry to dig this up once more, but this issue has been resolved in the latest SVN correct?We solved the problem by disabling the networking portion of the Framework_4_0 preprocessor symbol - effectively split it into two symbols so we could alternate the systems for testing.
It seems that when the advanced 4.0 sockets are being used, NetStates become unstable to a degree, we saw an increase in caught exceptions thrown by NetStates in the console.
I have to correct the info I posted though, as our server hasn't actually tested the Dynamic Save Strategy - we don't have 16 cores on the server - which is the point at which the DSS would be called into action.
So, here's the latest result:
Compile the core with .NET 4.0
Enable the new Framework_4_0 save strategy code
Disable the new Framework_4_0 networking/sockets
With this set-up, we have still achieved reducing the save times by up to 30 seconds.
Average players online is almost peaking 300 now - the average save time is 10 seconds, there are over 6 million items in the world.
The server has been running without a single crash, glitch, exception or fail for two weeks now and the save times remain consistent.