Quote Originally Posted by technomage
The main problem with TStringList is in the Find function which basically uses a sequencial find (if I remember correctly), depending on how many items you have in your list the performance will degrade the more items you have in the list. With hash lists algoritms searching is only limited to those items whose hash(string) is the same, and the slight overhead of calculating the hash. Performance does not degrade too much no matter how many items you have in the list, unless all you items have string keys that compute to the same hash value.

http://oopweb.com/Algorithms/Documen...ashTables.html

Alert Fighter uses Hash Lists for all asset management (Textures, Models, Sound, Music, Game objects) it works extremely well

I don't think array of string would give you the same functionallity if you are trying to do

Gameobject := GameObjects['Player1'];
// do stuff with object.
The find is the problem that I'm running into. I had thought about using a hash table to replace all of the the strings lists but its alot of work . Made some minor tweaks to change the way that some things work and this seems to have fixed up some of the problems I was having. I'll still have to look into and implement a hash table in the end though. At least my minor changes have me back on course for Stage 4, I might even get the hash stuff in before stage 4.

Thanks for the link, I've not seen that site before and I'll have to spend some time looking at it.