cliff racers + spawn points + collision + lag revisited

weebz
weebz's picture
Offline
Last seen: 1 year 36 weeks ago
Title: Newbie
Joined: 09/03/2011
Posts: 4
Project:Morroblivion
Component:Other
Category:bug report
Priority:normal
Assigned:Unassigned
Status:active
Description

I haven't really seen much on this issue, and even less fixes for it. For all I know it doesn't even have to be cliff racers, although I have yet to successfully duplicate this problem with any other creatures/npcs. The problem is this: sudden drop in fps that is solved by toggling collision. Some people have reported this for clutter and statics, but I am reporting it for cliff racers. Basically I was wandering around the ashlands and got a massive fps hit once I loaded Assarnatanat's cell. ( http://www.uesp.net/wiki/Morrowind:Assarnatamat ) It seemed understandable as there are a lot of statics plus something like 20 actors on the scene (modified spawns using WAC and vanilla Oblivion). So I thought I probably overdid it. When I got close enough to load the actors my fps was about 3 and I had to tgm and type kill on everything, but afterwards my fps didn't increase by much until a random cliff racer attacked me out of nowhere and I typed /kill on it. I knew it wasn't consistent to just have a typical cliff racer in a cell cause lag, so I decided to investigate and came across the tcl to fix lag issues and cliff racer related lag threads. Luckily I had saved right after loading Assaranatanat's cell and found that some cliff racer spawns seem to place them in spots where they easily get stuck.

There are two cliff racers stuck in the structures, and I've seen a third. This doesn't happen all of the time. Sometimes (if they even spawn) they are outside, although in this particular location it seems like there's consistently one that is stuck. However, they don't really cause problems simply by being trapped. In order to duplicate this issue they have to be stuck in a mesh/terrain, which isn't actually hard for creatures to do, especially the racers it seems. I played around with this for a bit and found a hard example (unfortunately I assumed my fps counter was enabled for screenshots, but with all actors dead the max would be about 10 with the racers causing problems, less depending on the rendering).

The racer with the wing stuck in the wall is the problem, and in this instance toggling collision increased my fps by around 15 (25-30~ total). So, reloading to find a stuck cliff racer again, I found that typing tcl on a problem (stuck) racer will also nullify the issue. This only works if it is alive. Untargetted, tcl will not work on live cliff racers, only dead ones. I found yet another example with two dead cliff racers right on top of each other that would also cause the fps drop. The  instances when they are dead and stuck are unfortunate, as I don't think you can move them (at least I can never seem to drag their corpses anywhere, even if they are only on top of each other), which results in that cell being a problem until the corpses go away. Typing a non targetted tcl will fix it, but there are other issues that go along with that, especially when it's an entire cell to be avoided. At the moment I don't know how to fix this issue. Since they don't really fly anyway, for now I've ticked walks and swims along with flies to see if that will help them to not get stuck on things so often, although I don't think it will. I know nothing about meshes so the only other thing I can think of is to replace the racers with another creature. That would be unfortunate, but depending on the number of times this happens it might be worth it to some people. I've read something about a creature revision underway, and I found a thread by Hashmi1 with cliff racers being worked on, but the files have been deleted and I assume that they have already been incorporated into the support files, which are the ones I am currently working with.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Hashmi1
Hashmi1's picture
Offline
Last seen: 6 weeks 8 hours ago
Title: Project Lead
Joined: 03/10/2010
Posts: 983

Personally I think that the problem has more to do with PathGriding and Placement ... but anyways here is a little tweak that you can try:

Step 1) Delete the folder (data\meshes\creatures\cliffracer\)
Step 2) Download and copy this to your Data folder.
Step 3) Open the CS and change the cliffracer's movement type from "Flies" to "Walks" ... save as an esp and load the game with this new esp {you want to UNCHECK flies and check walks}.




weebz
weebz's picture
Offline
Last seen: 1 year 36 weeks ago
Title: Newbie
Joined: 09/03/2011
Posts: 4

After about a straight hour reloading the same save state I have yet to duplicate the lag naturally with the test racers. With a little manipulation they can still cause lag (i.e getting them stuck in terrain by toggling their collision at the right times), but this is true with many creatures. I have noticed at this point that atleast two of morrowind's creatures' corpses can cause problems if they are on top of other corpses (racers and large kwama). I have not tested too extensively with the new racers yet and can not say anything for sure except that they haven't been getting stuck so far, and that you can drag their corpses now which is a plus in case they die on top of something that causes issues. Their behavior seems to be the same or nearly the same, so what is the downside to the test racers? Also were they converted with RRSC? Will do more testing. Thanks.

Some quick notes before I forget. The initial fps is definitely higher upon encounter with the test cliff racers versus the original ones, in Assarnatamat anyway. It was this way when I tested racers as skelobirds from WAC as well. One other thing to note with test racers is that I have seen them die in mid air possibly due to 'falling' since they no longer 'fly'. However this only happens around Eloth's new trees at the moment, so I'm not sure where it is coming from exactly.

Alright, I think I've done enough testing to know the ins and outs from a player's perspective. Basically the original racers can get stuck on some terrain, whether it's them or their corpses, and generate fps nuke. They can free themselves, although I don't know how the ai decides to do that, but I've seen them occasionally fly out of being stuck instead of running into a wall for eternity. For instance in the area depicted in the screenshots they can fly out of a hole in the roof. When this happens, the lag they generate goes away. Apparently you can drag the original ones as well if you grab them in the correct place, and possibly fix a corpse issue as long as no part of it is intertwined with terrain. Assarnatanat is a bad cell for the original racers, they seem to always spawn in their problem state until they break free. On the other hand, Hashmi1's racers seem to solve this problem. Even on approach and during combat in Assarnatanat my fps is 10-20 (20~ actors on scene) compared to 3-5 with the original racers. The only difference that I've noticed besides that, is that the test racers are able to 'fall' (you don't see them fall, they have the same animations and general behavior as the originals), which may cause them to die in some spots. They may also be able to attack more easily than the originals, although I can't confirm that since that wasn't what I was looking for. I would pin your racers somewhere Hashmi1, because even though I sometimes see them explode via icarian flight style (like I said, could only be around Eloth's trees), they have the same playability/behavior/etc, and I'd rather see a couple dead birds than a couple fps :l    Thanks again for your racers

Hashmi1
Hashmi1's picture
Offline
Last seen: 6 weeks 8 hours ago
Title: Project Lead
Joined: 03/10/2010
Posts: 983

Interesting ... so that's what 'Flies' does (it prevents creatures from fall damage).

But I am curious to know whether the lag was due to enabled flight or the meshes\nifs. So ... you should try re-enabling "Flying" with the new test racers and see if the problem comes back or not.

The test racers are currently not included in the main project because I feel that their animations are quite jerky still.

weebz
weebz's picture
Offline
Last seen: 1 year 36 weeks ago
Title: Newbie
Joined: 09/03/2011
Posts: 4

Sorry for the delay. I have only been able to do some minor testing so far and it can go either way. I have noticed an fps drop when they get stuck in the same spot depicted in the screenshot, but I will need to do more testing as there are some random spawns that may have thrown it off. I only note it because it still seemed lower than it should have been. What I can confirm is that the fps was still higher than it would have been with the original racers. I will report more thorough results later.

Syndicate content