PDA

View Full Version : Slow to load, slow response, frequent hangs



DNH
December 1st, 2010, 12:23
First off, I realise this post could quite probably find a good home in the House of Healing but the issues I have been having are exclusively with the 4e ruleset, so I am starting things here. I shall probably post in HoH too to refer to this post.

Now, as you can probably get from the title, I am having problems with my 4e campaign that can be summarised as follows:

The campaign takes a long time to load. I have not actually timed it (perhaps I should) but it is upwards of ten minutes. The campaign frequently takes its time to respond to certain events. For example, when opening up the powers tab of a character sheet. The whole FG2 system hangs on a fairly regular basis, perhaps four or five times during a three-hour session.
To be fair, the second and third points are probably the same thing.

I realise my PC is not the fastest or most modern system, having been built by myself something like seven years ago, but it seems to do the job for most other things (including gaming, eg LotRO). It runs Windows XP with SP3 on 2GB RAM. I don't actually think the PC hardware is the problem. Or rather, it's not the cause of the problem (it only exacerbates it).

Looking at the db.xml file for the campaign, I get the following:

The file is 735KB in size. The file is nearly 19000 lines long. There are an awful lot of <holder> tags about.
This last is actually what is worrying me the most. Our group often has to pass ownership of characters around due to player absences and so on. As I understand it, this means that a <holder> tag for the new owner is added to pretty much every element in the character sheet XML. The old one(s) are not removed. Looking at db.xml just now, three of the five characters have four <holder> tags for each element, and the other two characters have half a dozen <holder> tags for each!

It works out at fully 4645 <holder> tags throughout the db.xml!

I am assuming that I can delete these manually from the XML file to no detrimental effect (yes?) but I do wonder why the system does not do this automatically or why the necessity for so many. (For example, the <abilities> element has a set of <holder> tags and then each individual ability - all sub-elements of <abilities> - has a set of <holder> tags too!)

I have read on here about a few things you can do to prevent campaign bloat and I have been trying them but to no appreciable effect. I would very much appreciate it if someone can make some further suggestions. As things stand, it is not so much the startup time (we have a regular game and can mitigate against this issue by starting up the clients a little earlier) but the regular hanging time. I am assuming this is something to do with XML parsing going on.

Anyway, any suggestions much appreciated.

Thanks.

gmkieran
December 1st, 2010, 17:51
DNH, the <Holder> tags are almost certainly the issue. See an extended discussion beginning around pg 6 of this older post: Host Visual C++ Runtime Error in 2.6.0 (the first several pages are a different issue that's been fixed, already). I had thought someone had a utility for quickly removing the <holder> tags, but I can't find the reference to it. In any case, removing those and then making sure to clear them every couple sessions if you *have* to do a lot of character sharing should sort out much of your problem. also, the developers are aware of the issue and are working to fix it (I thought there was at least a partial fix in 2.7.2 if you're still running the older version).

Hope that helps!

DNH
December 3rd, 2010, 13:02
Any thoughts from the devs on this?

Thanks.

Zeus
December 3rd, 2010, 15:19
I think moon added a / handler in v2.7.x that allows the GM to reset all shared holder tags from the campaign db to GM only again. I think its /flushdb but can't recall exactly.

Griogre
December 3rd, 2010, 17:20
DrZeuss is correct the command is /flushdb - this will release all the holders.

However, if you are taking more than a minute to load - releasing the holders is not that likely to help you that much. From your description, I believe you may have run out of RAM and are running on virtual memory. How much RAM does that computer have and what OS are you using? How many tokens do you have in your host and shared folder and how much space do they take up? The size of your 4E modules could also be a real problem for you, particularly if they have images or tokens in them.

I'd start a resource monitor to keep an eye on your RAM usage, then try creating a new 4E campaign with no extensions and see how fast it starts. A new 4E campaign with no extensions would just be loading your tokens.

Next open the modules you usually have open and watch your memory usage. The good news is a DM doesn't need most referance modules while actually running a game depending on how your adventure modules were built.

It should be noted, that buying some more RAM may not help your because the OS has a max limit to how much RAM is will allocate for just one program. The amount varies by Windows version.

ddavison
December 4th, 2010, 21:13
Start times can be impacted by the number of modules and the number of tokens it has to load into memory. Before you exit out of a game, try closing any modules that you have open and reopen them again after starting the campaign for the next run. Open them one at a time and see if the issue is linked to any specific module.

If you have a lot of tokens, it may also be good to break those up into separate modules as well. If you divide them by Heroic, Paragon and Epic tiers, you can probably get by with only have one of those three open at any one time as you play your campaign. If you prep all the monsters ahead of time, you only need those module open during prep time and can close them before you actually run the game. Any tokens you drag out from your module and attach to an NPC will remain available even after the module is closed. This is also true of NPCs and Maps if you have dragged them to another tab.

DNH
December 7th, 2010, 10:03
Thanks to everyone for the information and suggestions. I used /flushdb to remove all the holder tags and that has removed over 4000 lines of XML! Which can't harm things. I also cut a shedload of old stuff from the chatlog file.

I closed all the modules I had open at the start and now only have those ones which I know are necessary to reference items on the character sheets. I shall open others (eg adventures) on an ad hoc basis.

The campaign now loads up inside two minutes, which I consider to be acceptable.

I still get occasional hangs while using the system though. In particular, whenever I move to open a character's Powers tab, one that I have not referenced in a while. This leads me to believe that it must be a RAM issue and I wonder if I can do anything about that. My PC has 2GB RAM and runs in Windows XP with SP3. Would altering the priority setting in Task Manager be helpful at all?

For info, I have very few tokens in my folders. Just some for the PCs and some AoE ones and that's it. All the monster ones I use are in adventure modules. It adds up to 1.5MB in the tokens folders.

In summary then, a little maintenance has more than halved the startup time for my campaign and I shall look to keep that under control. But I do still get system hangs, probably due to PC performance and configuration (RAM).

Thanks again.

Zeus
December 7th, 2010, 11:35
DNH - As the DM your not required to have any of the PC related source modules open during gameplay (that is if the modules are client modules), only the players need to have them open. They still need to be activated (Green Tick or Lightning bolt) on the DM's server, just not opened.

In my games when I DM I just have the adventure module open I require to run the game and nothing else.

Occasionally I might need the MM/MM2/MM3 modules but I just open, drag what I need into the Campaign and then close again.

Essentially this reduces the amount of memory I need to keep my games running smoothly.