Jump to content

performance issues with bg2 fixpack


Guest thelee

Recommended Posts

Guest thelee

howdy all. after discovering this site, i uninstalled baldurdash (and as a result, reinstalled bg2:tob) and installed the bg2 fix pack.

 

i installed mainly the core fixes, the game text update, and a few optional but cool fixes. but now that i run the game, the game is *really* sluuggish. the game hangs up repeatedly for several moments very regularly, even when just walking around, but especially when casting spells (even if they're from enemies off screen) or pressing various buttons on the action bar (for example, the spell cast button has a really huge lag, or someimtes selecting the special ability button, like for keldorn has a huge lag). this isn't a system issue, the game ran just fine and smoothly with the baldurdash fixes (and iwd2 ostensibly has steeper requirements and runs just fine).

 

so what exactly is causign this slowdown? it's actually caused me to botch a few battles, like because in some ways the game proceeds to continue even while everything is hung up.

Link to comment
howdy all. after discovering this site, i uninstalled baldurdash (and as a result, reinstalled bg2:tob) and installed the bg2 fix pack.

 

i installed mainly the core fixes, the game text update, and a few optional but cool fixes. but now that i run the game, the game is *really* sluuggish. the game hangs up repeatedly for several moments very regularly, even when just walking around, but especially when casting spells (even if they're from enemies off screen) or pressing various buttons on the action bar (for example, the spell cast button has a really huge lag, or someimtes selecting the special ability button, like for keldorn has a huge lag). this isn't a system issue, the game ran just fine and smoothly with the baldurdash fixes (and iwd2 ostensibly has steeper requirements and runs just fine).

 

so what exactly is causign this slowdown? it's actually caused me to botch a few battles, like because in some ways the game proceeds to continue even while everything is hung up.

 

I suspect something must have got broken on your install - I don't see how the FP (or any mod, really, except maybe ones that generate vast numbers of animations) could have this effect. I guess it's faintly possible that your antivirus software is struggling to keep up with all the FP-generated files, so you could try disabling it. It's even more faintly possible that defragmenting your hard drive might help. Failing that, reinstalling BG2 is probably your best bet.

Link to comment
Guest thelee
howdy all. after discovering this site, i uninstalled baldurdash (and as a result, reinstalled bg2:tob) and installed the bg2 fix pack.

 

i installed mainly the core fixes, the game text update, and a few optional but cool fixes. but now that i run the game, the game is *really* sluuggish. the game hangs up repeatedly for several moments very regularly, even when just walking around, but especially when casting spells (even if they're from enemies off screen) or pressing various buttons on the action bar (for example, the spell cast button has a really huge lag, or someimtes selecting the special ability button, like for keldorn has a huge lag). this isn't a system issue, the game ran just fine and smoothly with the baldurdash fixes (and iwd2 ostensibly has steeper requirements and runs just fine).

 

so what exactly is causign this slowdown? it's actually caused me to botch a few battles, like because in some ways the game proceeds to continue even while everything is hung up.

 

I suspect something must have got broken on your install - I don't see how the FP (or any mod, really, except maybe ones that generate vast numbers of animations) could have this effect. I guess it's faintly possible that your antivirus software is struggling to keep up with all the FP-generated files, so you could try disabling it. It's even more faintly possible that defragmenting your hard drive might help. Failing that, reinstalling BG2 is probably your best bet.

 

hmm... well i'm running this through wine, so I don't have antivirus nor would defragmenting do anything (as it's all running under ext3fs instead of ntfs). i guess i'll give reinstallation a shot, in case something got screwed up

Link to comment

Bad things happen under WINE/ext. I don't think anybody ever found out why, but there's nothing we can do about it as the issue doesn't affect running natively under Windows and Mac OS X (performance with the fixpack is normal).

Link to comment
Guest thelee
Bad things happen under WINE/ext. I don't think anybody ever found out why, but there's nothing we can do about it as the issue doesn't affect running natively under Windows and Mac OS X (performance with the fixpack is normal).

 

that makes me sad :p but IWD2/BG play just fine!

Link to comment

I believe it's related to the way case folding works in Wine with lots of files; if you're adventurous, you can try playing the game under a separate FAT32 partition (IIRC, both FAT32 and NTFS only have long loading times and no in-game lag, but NTFS takes an extreme time for mod installation). Look into loopmounted disk images if you don't want to create a new partition just for BG2.

Link to comment
Guest thelee
I believe it's related to the way case folding works in Wine with lots of files; if you're adventurous, you can try playing the game under a separate FAT32 partition (IIRC, both FAT32 and NTFS only have long loading times and no in-game lag, but NTFS takes an extreme time for mod installation). Look into loopmounted disk images if you don't want to create a new partition just for BG2.

 

creating a separate disk image just for bg2 performance is a bit extreme, but anyway, at least this has taught me to be *very* sure about what spells i want to cast.

Link to comment

I think this is one instance (the only?) where you could be forgiven for biffing the override contents...

 

If it really is just filesystem nonsense, sticking everything into a BIFF should keep it from sucking balls?

Link to comment
If it really is just filesystem nonsense, sticking everything into a BIFF should keep it from sucking balls?

Are you suggesting it might be a fragmentation issue?

No, it's a problem with case-sensitive file systems. If you're a Windows user then this doesn't affect you.

Link to comment
No, it's a problem with case-sensitive file systems. If you're a Windows user then this doesn't affect you.

I'm a BSD user, and yet I'm still not smart enough to understand the issues involved here and was looking for a bit of elucidation, strictly to satisfy curiosity (since apparently my system isn't temperamental enough give me the kind of grief suffered by users of ad hoc unix implementations such as Linux). You'll forgive me for stepping past my knowledge threshold and into the realm of ignorance, but although filesystems usually hold very little interest for me, I do feel a question mark enlarging in my mind. Surely someone will indulge me out of pity, if nothing else.

 

Regardless of how Wine handles case-insensitive requests on a case-sensitive filesystem (which I assume is what has heretofore been suggested as the problem), I wonder how this is alleviated by encasing files within biffs, as this still results in filesystem look-up, right? Does the game walk CHITIN.key once for each resource? Does it access a biff once for each resource? Or is it able to batch process resource requests and pull multiple files without releasing the biff? You'll forgive me for not slaving over a stack-trace to figure this out.

 

Fragmentation was a shot in the dark but is not a phenomenon exclusive to NTFS and FAT32, although it is handled rather more poorly on those systems; and I'm completely ignorant as to how large files get spread across disk blocks in ext3, and wondered if the blocks might not be contiguous, which would influence performance. Again, I ask only for the sake of learning, and am not personally afflicted by any great malady; If that makes the question less appealing, then my sincerest regrets are offered.

Link to comment

Note: I use Windows and I haven't read the Wine source code, so don't take all of this like truth.

 

Fact 1:On an EXT3 file system, getting a list of files is a costly operation (google for EXT3 benchmark), which escalates to absurd levels when E.G. 2000 files are in a single directory.

Fact 2: BG2FP creates thousands of files in a single directory.

Quasi-Fact: those files don't use the correct folding (at least, a significant percentage of them uses random case).

Wild Speculation: When looking for SomeResource.Ext, Wine does a fopen("SomeResource.Ext"); if it doesn't match, it gets a list of files in the directory and looks for the one giving a case-insensitive match.

From these Facts and Speculations follos that: looking for any resource in a BG2FP installation under EXT3 takes wild amounts of time.

 

Biffing condenses those thousands of files in a single archive (which BG2 can access and search natively) and thus removes the effects of Fact 2, breaking the chain of cause. Using a loopmounted NTFS (or other case-insensitive file system) partition, on the other hand, denies the effects of the Wild Speculation, with similar effects.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...