I think it's to do with them trying to start a conversation but it never triggers, it just keeps stopping their movements.
Unfortunately, that's another kind of stuttering and my fix does not affect this particular problem. It's script-related, since
NPC tries to initiate dialog, but he "has nothing to say" or similar. Though such issues can usually be debugged with ease without digging into the executable, because they are script-related.
i30817it will grow to twice the size (10/10+10/10) and search for 1/10 of the new size again - 20% of the old size - which means it might need to grow 2 or 3 times until it finds a free slot, doubling memory 3 times.
Umm.. I cannot see your point. Assume that I have a perfectly distributed hash table which is currently of size 1000(for easy calculations). Current load of the table is 99%. 99% load means that there are 10 empty elements and maximum linear chunk of occupied buckets is 1000 / 10 = 100 buckets. It is exactly the case when I enlarge my hashtable. But when its size is doubled, maximum linear chunk will become not 100/2 = 50 as you might have expected, but 2000 / 1010 ~ 2 buckets long! It means that when the size is doubled, maximum search length is reduced 50 times instead of 2. Such dramatic drop in search length insures that the hashtable will never(provided hash funcion is perfect) be enlarged two times in a row.
It also means that the hashtable will be only be resized when it reaches about 99% load(instead of 100% in standard implementation), not 10% as you might have though.
The only difference in my hashtable is that it starts growing just
a little earlier(99% instead of 100% load).
Beleg33,
SalkGlad to be of assistance, guys. I hope Asc64 will include my solution to TobEx so that it will be available for everyone. If you are eager to test it yourself, you can grab TobEx.dll + detoured.dll from the first post of this thread.
Edited by Suslik, 17 April 2012 - 09:04 AM.