9 posts / 0 new
Last post
anytus
anytus's picture
Member
Offline
Last seen: 9 years 2 months ago
Joined: 06/21/2011 - 11:06
Karma: 10
BSTask count, stuttering, and ctd

Howdy folks, I've been tweaking settings again looking for performance changes and I noticed a curious correlation. If you've ever turned on the debug text with the tdt command you've seen the line that contains the BSTask count. I've searched the Oblivion communities to find out what exactly this line indicates and no one seems to know. There are several mentions of it on TESNexus but no real answers. It seems universally agreed that when this count gets high, stuttering occurs.  So, first off does anyone know what this thing is?

Most of the time the count remains on a fixed, low number. When a new cell is loaded though (I think) the count skyrockets. I'd imagine it has something to do with loading meshes or textures or scripts, something that you would need to render and run a new cell as the player enters it. Improtantly, I noticed that when a cell loads the count can get above 500 (and the framerate dips substantially) but quickly returns to a lower value. Every time a new cell is loaded though the count settles at 10-20 higher than what it was before. When you load up the game it should start at 0 and then works its way up into the hundreds. 

For me, after a few hours of constant play the BSTask count will climb to and stay at the 200-300 range thanks to these little fragments of 10-20 that are picked up in every cell (or at least every new city). When I then go into a city the framerate drops to an unplayable level of 1-2 where it was 15-20 when I first started the game. Eventually, when the BSTask count gets above 500 or so the game will crash. Using the pcb command does not reset this count. Neither does saving and loading a game. The only thing that will reset it is to completely exit and restart Oblivion. Has anyone investigated this curiosity or have an idea about why it happens, why it leads to low framerates and why it seems to cause ctds?

This isn't exactly a crippling problem because the easy solution is just to exit the game and restart it every 2 hours or so, but I'm still curious if anyone has this same problem or has any thought about it.

steph
steph's picture
Member
Offline
Last seen: 3 years 7 months ago
Joined: 06/26/2008 - 05:00
Karma: 314
this is an ongoing issue.

this is an ongoing issue. search "BSTASK Count" in google. Morrolivion doesn't directly cause the problem, but it is affected by it.  I've found that if you toggle collision off the frame rate jumps up a bunch ...

 

Otherwise, no one seems to know what causes this.

ironman12345
ironman12345's picture
Member
Offline
Last seen: 6 years 5 months ago
Joined: 08/29/2011 - 18:29
Karma: 1556
There is one possible

There is one possible cause,but could be way off in my thinking.

David suggested using the Purge Cell/Load buffers esp`s because the data for each cell is purged [cleared] before loading the next one.

So the programmer of the CS and Oblivion could have inserted a counter to check the amount of objects [meshes/textures] etc there are in each cell.

But morroblivion is using way more detail than oblivion,so that counter could be very near to the point where it slows to a crawl.?

It could also be a script counter [more scripts to handle might slow everything down],but that counter might be counting up to a max script count for the whole session,and if the game is not restarted it could just reach it`s max and CTD.

But if that is the case then Beth should have trapped that counter reading and displayed a warning,giving the player a chance to restart.?

 

All quesswork though.:)

 

Hashmi1
Hashmi1's picture
Member
Offline
Last seen: 3 years 2 weeks ago
Joined: 03/10/2010 - 04:00
Karma: 970
Not the Scripts

I've played Morroblivion with all the scripts removed (during a trial I used TES4EDIT and deleted the Script Records from Morrowind_ob.esm) ... and whereas scripts *might* have a little effect on BSCount ... they definately aren't the only contibutor (or even a major one for that matter).

BSCount still shoots up to 300-500 when a new cell is loaded ... and then falls back to a low value ( but not to 0 ) ...  the base value keeps on increasing with time and is only reset to 0 when the game is re-started.

 

Ice
Ice's picture
Member
Offline
Last seen: 3 years 11 months ago
Joined: 12/11/2012 - 15:30
Karma: 1036
Is there anyway we can write

Is there anyway we can write an obse script that would reset that base value? 

ironman12345
ironman12345's picture
Member
Offline
Last seen: 6 years 5 months ago
Joined: 08/29/2011 - 18:29
Karma: 1556
Proberly not iceburg,as it

Proberly not iceburg,as it sounds like it is a function in the exe as it resets on restart.:(

 

Ice
Ice's picture
Member
Offline
Last seen: 3 years 11 months ago
Joined: 12/11/2012 - 15:30
Karma: 1036
Aww. Okay. So that means

Aww. Okay. So that means you'd have to recode the exe itself? I'd imagine that would be way to complicated to be worth it. Is that even possible?

ironman12345
ironman12345's picture
Member
Offline
Last seen: 6 years 5 months ago
Joined: 08/29/2011 - 18:29
Karma: 1556
It`s possible,but involves

It`s possible,but involves reverse engineering then recompiling the exe.

Definately not the way to go if you value your freedom.:)

 

Ice
Ice's picture
Member
Offline
Last seen: 3 years 11 months ago
Joined: 12/11/2012 - 15:30
Karma: 1036
haha, okay.

haha, okay. :)