 |
11-04-2009, 08:40 PM
|
|
|
L337 Poster
|
(Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
I'm very excited to hear that many of you are seeing a big improvement to memory usage after the Nov 2nd hotfix. You don't know how big of a weight off my chest that is!
It really was a team effort to make some of these optimizations and we still have more work to do. As I mentioned in another thread, we have a string hashmap system coming soon that will cut down string allocations by half.
I recognize that some of you are still having problems, especially in overloaded guildhalls. We will continue to look for improvements in this area going forward. We really want to put our best foot forward by February when the expansion comes out and our marketing department begins their big acquisition campaign.
Please continue to post your feedback on memory usage in this thread. We're keeping up with it every day even if we don't always get a chance to respond.
LINK
|
|
|
11-04-2009, 09:13 PM
|
|
|
NO YOU WON'T
Character: Aleraku
Guild: YMCA
Server: Blackburrow
Posts: 11,399
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
Quote:
Originally Posted by Official Forums
As I mentioned in another thread, we have a string hashmap system coming soon that will cut down string allocations by half.
|
Aditu should also be doing this if she isn't already.
__________________
Oh shit I just had a memwipe, why is retarded uncle Roger still designing raids for this game again?
Some players might bot against encounters but it seems like he bots the encounter design!
|
|
|
11-04-2009, 09:17 PM
|
|
|
You know the rules
Character: Mayriia
Guild: DT
Server: Valor
Posts: 1,776
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
why? memory usage of ACT is really a non-issue
|
|
|
11-04-2009, 09:57 PM
|
|
|
NO YOU WON'T
Character: Aleraku
Guild: YMCA
Server: Blackburrow
Posts: 11,399
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
so is the memory usage of EQ2
__________________
Oh shit I just had a memwipe, why is retarded uncle Roger still designing raids for this game again?
Some players might bot against encounters but it seems like he bots the encounter design!
|
|
|
11-04-2009, 10:06 PM
|
|
|
You know the rules
Character: Mayriia
Guild: DT
Server: Valor
Posts: 1,776
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
that was a good one :D
|
|
|
11-05-2009, 03:55 AM
|
|
|
ACT Developer
Character: Aditu
Guild: Cataclysm
Server: Permafrost
Posts: 1,296
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
Well, I'm probably not.
I don't even innately know what Rothgar is getting at, but by the context... something like storing one copy of a unique string and giving data objects an index to the string data instead of storing the actual string? IE, instead of a mob name being repeated 5,000 times consuming say 10 bytes each, you use an integer using 4 or less bytes and have only a bit of overhead for storing the so called collection of strings.
It wouldn't even be really hard to do since I mask everything with properties. Something interesting to look at when I have free time, I suppose.
|
|
|
11-05-2009, 06:15 AM
|
|
|
NO YOU WON'T
Character: Aleraku
Guild: YMCA
Server: Blackburrow
Posts: 11,399
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
Code:
public Dictionary<string,string> SharedHashTable = new Dictionary<string,string>();
public string GetSharedReference(string InputString)
{
if (!SharedHashTable.ContainsKey(InputString))
SharedHashTable.Add(InputString,InputString);
return SharedHashTable[InputString];
}
string InputPlayerName = "Aleraku";
string SharedPlayerName = GetSharedReference(InputPlayerName);
// If the reference already exists in the dictionary, InputPlayerName's version then gets discarded by the GC.
If you're storing the data the way I would, you have potentially millions of duplicate string copies depending on the size of the parsed log file.
__________________
Oh shit I just had a memwipe, why is retarded uncle Roger still designing raids for this game again?
Some players might bot against encounters but it seems like he bots the encounter design!
Last edited by Illuminator; 11-05-2009 at 06:17 AM.
|
|
|
11-05-2009, 09:32 AM
|
|
|
Rank: ESCRIMADOR (10+ DSPS)
Character: Sacdaddicus
Guild: Heaven and Earth / DAKKOTA'S SCHOOL FOR WZRDS
Server: BlackB / Funrest
Posts: 1,158
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
Quote:
Originally Posted by Official Forums
I'm very excited for hash
LINK
|
That shits the chronic!
|
|
|
11-05-2009, 06:03 PM
|
|
|
ACT Developer
Character: Aditu
Guild: Cataclysm
Server: Permafrost
Posts: 1,296
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
Quote:
Originally Posted by Illuminator
Code:
public Dictionary SharedHashTable = new Dictionary();
public string GetSharedReference(string InputString)
{
if (!SharedHashTable.ContainsKey(InputString))
SharedHashTable.Add(InputString,InputString);
return SharedHashTable[InputString];
}
string InputPlayerName = "Aleraku";
string SharedPlayerName = GetSharedReference(InputPlayerName);
// If the reference already exists in the dictionary, InputPlayerName's version then gets discarded by the GC.
If you're storing the data the way I would, you have potentially millions of duplicate string copies depending on the size of the parsed log file.
|
Hmm, I guess my theory was similar but different. Instead of giving an object reference to my data objects, I was suggesting giving an Int16/32. Object references aren't zero-size after all.
I made a little arbitrary test where a program made 10M total strings with 10,000 unique ones. Simply storing the strings consumed ~7.64s and 871M. Using your method consumed ~3.68s and 168M. My supposed method consumed 2.79s and 94M.
Keep in mind I used Int16 and circumstances may have forced me to use Int32 if I had say 70k unique strings. Also my data classes would have had to call the String/Int16 dictionary to resolve the string. So the middle ground is much simpler to implement.
|
|
|
11-05-2009, 06:34 PM
|
|
|
NO YOU WON'T
Character: Aleraku
Guild: YMCA
Server: Blackburrow
Posts: 11,399
|
Re: (Rothgar) Re:EverqQuest2.exe 1.8gigs of memory usage?!?!?
My method was quick and dirty but still offered substantial improvement over nothing at all. Its main flaw is that it has to generate a hash for the string every time it does a dictionary lookup, unlike an integer handle. And yes, I would do the Int32 over the Int16. 65K is not an impossible number to exceed.
__________________
Oh shit I just had a memwipe, why is retarded uncle Roger still designing raids for this game again?
Some players might bot against encounters but it seems like he bots the encounter design!
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|