The Elder Scrolls V: Skyrim Mod Thread

TheWanderer wrote:

That was relatively painless! Loaded in the beta driver from Nvidia first thing and ran with and without the Ambient Occlusion on. Pretty damned slow outdoors in Whiterun. Loaded up the 4GB launcher, turned AO down to Performance, no sweat I'm back to normal. Bumped down shadow detail in the game console pre-launch from High to Medium. I get a slight flicker in the shadows as I pan, but the shadow quality difference is negligible and my framerate overall went up and I'm in the mid 50s all day now.

I tried it with and without the 360 controller on and I saw no discernable difference in the framerate. Is that still slowing things down? Also, if I switch the mouse can I dial down that flicker by messing with the mouse smoothing or whatever that nonsense is?

In Skyrim.ini under [Display]

add these folllowing lines:

fSunShadowUpdateTime=0
fSunUpdateThreshold=2.0
fShadowBiasScale=0.6

It might help.

4xis.black wrote:

I'm not sure what you mean by 'flickering shadows', but no, I doubt disabling mouse acceleration will fix that. (But if you're playing with a mouse you should disable acceleration anyway.)

As you pan side to side the shadows seem to flicker lighter to darker.

Shadow update time sounds interesting.

Here's another newbie question: My monitors are 75 hertz. I can't seem to get my frame rate over 60. Of course, I couldn't keep it there, but wouldn't I get a smooter image at those times when I could if I matched my frame rate to the hertz of my monitors? Is that what the vsync removal is aiming to do?

Vsync is a little more complicated than that.

So, without Vsync on, your graphics card has one single 'framebuffer' (essentially an image held inside a chunk of VRAM that contains the pixels you see on your monitor) and it tries to redraw this framebuffer as quickly as possible; the rate at which the framebuffer gets redrawn is what we know as 'frames per second', FPS. If your display is operating at 75Hz, it will update itself to match the framebuffer 75 times per second. Mostly this works very well. But what happens if your video card is halfway through drawing a frame when your display arrives to update itself? You will end up seeing an image on the screen wherein the top part looks like the very newest frame and the bottom part looks like the frame right before that; if the images is moving fast and these two frames are very different, you may notice a 'tear' at the point where one frame becomes the other. Some people get really annoyed by this phenomenon, which is known as 'vertical tearing'.

How do you fix vertical tearing? Well, the basic idea is that instead of having one framebuffer, you use two of them in a sort of 'front stage/back stage' configuration, where the 'front' buffer is the image your monitor sees and the 'back' buffer is the staging area on which your graphics card works. You see the front buffer on your screen, which will not be touched until the next frame is complete; then, in between monitor updates, the completed frame gets copied from the back buffer to the front one. The graphics card is synchronized with the monitor so that the copying always happens in between updates. Through this procedure 'vertical tearing' never occurs, hence the term 'vertical synchronization' or vsync. There is, however, a downside.

Say your frame is 95% done on the back buffer when it comes time to copy it over to the front. You don't copy it because it isn't done yet; instead you leave the previous frame sitting in the front buffer to get sent to the monitor for the second time, finish the remaining 5% of the current frame, and are prepared to start with the next one. But unfortunately you can't start on the next one because you have nowhere to put it; if you started updating the back buffer you'd end up partially overwriting the current frame before it has a chance to get copied into the front, causing tearing and defeating the entire point of vsync. You must instead wait until the next update cycle, copy the current frame, THEN start working on the next one. Every time you do this, one single frame will end up sitting in the front buffer for two monitor updates, meaning your monitor's image will only change half as often as it is actually capable of doing and in practice your frame rate gets cut to 50%. In other words, as soon as your graphics card fails to make 75 FPS the very best it can do is 37.5. If it fails to make 37.5, the best it can do is 25 (75 divided by 3), then 18.75, et cetera.

How do you fix that? Use THREE frame buffers! Front, back, and, uh, back number two! So you have your front stage buffer and two different back stages; you can finish the next frame on stage 1 then immediately begin another on stage 2, then finish stage 2 and begin another on stage 1, etc.... This process is called 'triple buffering', and it's a setting you can enable for most games in your graphics card settings. With triple buffering, when your card fails to hit 75 FPS it doesn't drop all the way down to 37.5. There is, however, a downside. Well, not really. Using more framebuffers takes up a bit more video RAM (at 1920x1080 one frame buffer requires about 23 megabytes), and vsync in general still creates input lag.

SO: You can totally get above 60fps with vsync. (I suspect the reason you're locked at 60 is because either Windows or Skyrim is forcing your monitor to run in 60Hz mode rather than 75.) What disabling vsync does is save you from going directly from 60 -> 30 -> 20 -> 15, at the cost of introducing vertical tearing. (Also, disabling vsync in Skyrim messes up mouse movement and physics calculations, but you can fix that.)

And one last note: Outdoors in Whiterun is probably not the best place to tune your FPS since it is by no means the laggiest part of the game. I recommend an indoor area with a bunch of lamps and torches, such as the Ragged Flagon.

EDIT: Apparently actually getting triple buffering to work in Skyrim is rather difficult, since it is only natively supported by OpenGL while Skyrim (and every other damn thing) is DirectX. I am not too knowledgeable about this since I never use vsync.

I'm thinking about making a tech thread about v-sync.

I think we have one. Or at least the beginnings of a wikipedia article.

Also, I tried sunupdateinterval. It's pretty horrible, the shadows flicker constantly and move at an eerily fast rate.

That's about the best explanation I could have hoped for. Guess I'll see what screen tearing looks like soon.

Ever since I got a monitor that refreshes at 120Hz, vsync never seems to cause an issue. I now understand how I may be being limited to 60 FPS - thanks for that, never really got it until now. Still, even at 60 FPS, Skyrim runs smooth as silk.

Watching my girlfriend crawl around in a dwarf ruin. The spider replacement mod people totally need to replace the mechanical spiders with the Little Sisters from Bioshock, seeing as how they tend to pop out of the same holes...

TheWanderer wrote:

That's about the best explanation I could have hoped for. Guess I'll see what screen tearing looks like soon. :)

That's reasonable -- I do not understand the fight for framerate once you're solid at 30fps or 60fps. Both are going to look quite smooth to the human eye, and not having tearing is far more noticeable than the mild increase in "smoothness" that you will see once you're dealing with rates above the monitor's native refresh.

Man, I was happy with 20fps back in the Quake I days...

TheHipGamer wrote:
TheWanderer wrote:

That's about the best explanation I could have hoped for. Guess I'll see what screen tearing looks like soon. :)

That's reasonable -- I do not understand the fight for framerate once you're solid at 30fps or 60fps. Both are going to look quite smooth to the human eye, and not having tearing is far more noticeable than the mild increase in "smoothness" that you will see once you're dealing with rates above the monitor's native refresh.

Man, I was happy with 20fps back in the Quake I days...

I don't know if it's been a big deal in recent years, other than those that want 16xCSAA instead of 8x, or who push multiple monitors or those 30" gargantuans.

Speaking of nostalgia, I remember when my dad bought my a graphics card, I never had even heard of something like that. Man, Jedi Knight looked so sweet at 30+ fps and high resolution. And Mysteries of the Sith? FREAKIN' COLORED LIGHTS!

/nostalgia

Rezzy wrote:

Does this game still do the dumb thing where if you accidentally run out of low level soulgems it will start filling your grand ones with mudcrab juice?

Yup.

Wrong thread.:(
And thanks for the answer!

On topic: Any mods to fix that?

Serengeti wrote:
Rezzy wrote:

Does this game still do the dumb thing where if you accidentally run out of low level soulgems it will start filling your grand ones with mudcrab juice?

Yup.

Does anyone know of a mod that allows the flushing of higher level gems with lower level souls in them? Or that at least indicates the size of soul being captured?

Also, does anyone feel inherently evil as you trap the immortal soul of a wild beast in order to make your axe extra sparky?

I want a mod that fixes NPC movement speeds. Friendly NPCs walk too fast and run too slow, and summons like Atronachs move way too slow.

ZaneRockfist wrote:
TheWanderer wrote:

That was relatively painless! Loaded in the beta driver from Nvidia first thing and ran with and without the Ambient Occlusion on. Pretty damned slow outdoors in Whiterun. Loaded up the 4GB launcher, turned AO down to Performance, no sweat I'm back to normal. Bumped down shadow detail in the game console pre-launch from High to Medium. I get a slight flicker in the shadows as I pan, but the shadow quality difference is negligible and my framerate overall went up and I'm in the mid 50s all day now.

I tried it with and without the 360 controller on and I saw no discernable difference in the framerate. Is that still slowing things down? Also, if I switch the mouse can I dial down that flicker by messing with the mouse smoothing or whatever that nonsense is?

In Skyrim.ini under [Display]

add these folllowing lines:

fSunShadowUpdateTime=0
fSunUpdateThreshold=2.0
fShadowBiasScale=0.6

It might help.

Made those tweaks and turned AA and Filtering down to 2 samples from 8. The game is much more playable with a gamepad now.

The only reason I ever take vsync off is the mouse lag. I hate mouse lag with a passion and for half the games I play this occurs with Vsync turned on. I rather deal with tearing then dealing with mouse lag.

Note: there has been uncovered some rather unusual issues that come with disabling vsync:

* V-Sync (or iPresentInterval) seems to have a huge impact on many other things ingame, such as the time-of-day the "next day" happens at (day and time move out of sync, which can interfere with many quest triggers etc.), mouse Y sensitivity, physics react violently, nearby water flickering crazily as the camera is moved etc. - why/how has vertical sync been tied so heavily into the core engine itself?

From http://forums.bethsoft.com/index.php...

What the... Someone needs to break into Bethesda and erase their engine source code and all the backups, to force them to make a new one.

Yeah, when I read about that last week I re-enabled v-sync, much to my chagrine.

The Skyrim Script Extender (SKSE) fixes the resistance bug with the new patch now. As a software engineer I found this post by the SKSE dev guy hilarious

ianpattl wrote:

ong story short, diffing the 1.1 and 1.2 executables after seeing all the bug reports to see if I could fix any of them. There's a MagicTarget interface class that is implemented by everything you can damage. One of the virtual functions on that class is used to calculate resistance (as a scale factor), and the diff showed that for the versions used by Actor (base class for Character/PlayerCharacter) it had fallen back to the base class' implementation of "return 1" instead of the larger function before. A new virtual function with roughly the same code as the old MagicTarget function appeared on Actor, but it isn't being called. It seems like someone accidentally misnamed or changed the signature of that function in Actor (or vice versa), so it isn't overriding the function in the interface.

SKSE now has a shim that hooks up the function properly. Yes, the fix is intentional.

edit: PM'd a dev in case this is actually the fix

Modders are amazing, this is why i always buy beth games on PC

Barab wrote:

The Skyrim Script Extender (SKSE) fixes the resistance bug with the new patch now. As a software engineer I found this post by the SKSE dev guy hilarious

ianpattl wrote:

ong story short, diffing the 1.1 and 1.2 executables after seeing all the bug reports to see if I could fix any of them. There's a MagicTarget interface class that is implemented by everything you can damage. One of the virtual functions on that class is used to calculate resistance (as a scale factor), and the diff showed that for the versions used by Actor (base class for Character/PlayerCharacter) it had fallen back to the base class' implementation of "return 1" instead of the larger function before. A new virtual function with roughly the same code as the old MagicTarget function appeared on Actor, but it isn't being called. It seems like someone accidentally misnamed or changed the signature of that function in Actor (or vice versa), so it isn't overriding the function in the interface.

SKSE now has a shim that hooks up the function properly. Yes, the fix is intentional.

edit: PM'd a dev in case this is actually the fix

Modders are amazing, this is why i always buy beth games on PC

Yep, although I haven't had any issues with anything yet so I have been holding off on mods until the tools come out, especially since it seems like every update breaks everything.

oMonarca wrote:
Serengeti wrote:
Rezzy wrote:

Does this game still do the dumb thing where if you accidentally run out of low level soulgems it will start filling your grand ones with mudcrab juice?

Yup.

Does anyone know of a mod that allows the flushing of higher level gems with lower level souls in them? Or that at least indicates the size of soul being captured?
Also, does anyone feel inherently evil as you trap the immortal soul of a wild beast in order to make your axe extra sparky?

Yes! I'd resigned myself to not using soul gems at all, because I find the whole concept disturbing (kind of like the Human Centipede or the basic scenario for Shadow of the Colossus). I constructed my own narrative for the concept (since to my knowledge it's never *really* explained in-game) based on the events when you meet the Graybeards.

You're not really trapping the immortal essence of being so much as an essence of power (similar to how the greybeard goes all swirlie and sends flying rays of particle effects into your face). You're absorbing a power, leaving the now unfettered "being-essence" free to travel to its eternal reward (be that an eternity of paradise, torment, or just purgatory, depending on how that particular entity's religious beliefs pan out).

I definitely see the water flicker sometimes with vsync off. I had no idea about the quests. Maybe I will just turn it back on...

I don't think any quest will be irrevocably "bugged" by disabling vsync, it's just that the particular time an NPC should be somewhere might be... different. And the process seems to be irreversible, so the longer you keep it off, the more your saves will be warped. I think I had it disabled for about 30 hours, and the day doesn't officially change until 7 or 8 in the morning. Note that this only affects AI and scripting, it seems to have no effect on when the sun sets and rises.

So that's why nobody opens their stores until around 9am now. Sigh.

Is that why those lazy aholes in Whiterun never actually open at 8 to 8. Seriously, sometimes the girl smith comes out at 9am, but most of the time it's more like 11-12.

Barab wrote:

The Skyrim Script Extender (SKSE) fixes the resistance bug with the new patch now.

There's already a Skyrim Script Extender? The mod community works fast.

Awesome, looks like I better turn vsync back on. What is wrong with these guys? Just between this and the resistance issue it makes you wonder if they just let the interns make all these decisions.

A bit of a cross post from the other thread, but it's applicable here too:

http://www.bethblog.com/index.php/20...

Short version: A patch for the patch is coming next week fixing the resistance bug and dragon behavior among otehr things, probably earlier on the PC this time than on the consoles due to the certification process. The creation kit and further patches are planned for release in January.

Longer version: Sounds like they have an aggressive update plan that will kick into high gear starting in January, and that's when we can start expecting patches that fix quest bugs. This week and next week's patch are focusing on quick fixes that presumably have lower chances of generating new bugs in the process, although clearly they've already failed a little bit in that regard.

In addition to the creation kit, they are also going to roll out integration with Steam Workshop for easy automated downloading and installing of mods for those who wish to use it.

Steam Workshop – We’re excited to share news that we’ve been working closely with Valve to integrate Steam Workshop into the Creation Kit. Using the Workshop, you’ll have free user content with the push of a button. The Creation Kit will bundle your mod and upload it to the Workshop, where everyone can browse, rate, and flag mods for download. You’ll be able to do this from any web device, including your smartphone. Like a live Netflix queue, when you fire up Skyrim, mods you flagged will be automatically downloaded and installed. Everyone here is really excited about the opportunities and possibilities this opens up for our entire community.

Prefer to use existing modding sites? Not a problem. You’ll still be able to upload/share/access Skyrim mods on fan-created mod sites.

Awesome!