Jump to content

New STEP Vsync Settings (all STEP users affected!)


TechAngel85

Recommended Posts

Posted

Alright. I actually added this to a video that I created recently for SkyrimTuner for RealVision ENB. I thought I understood it and now after reading all the comments just now I'm a little confused lol. If Tech or Z or Tannin would be so kind to answer...

 

1. Can iPresentInterval be deleted entirely from both ini's? 

2. Does deleting iPresentInterval entirely from both ini's do the same thing as if you added iPresentInterval to the Skyrim.ini?

3. If both 1 & 2 are "no" then I understand iPresentInterval=1 should be put ONLY in the skyrim.ini and deleted from the skyrimprefs.ini.

 

 

=)

  • Replies 92
  • Created
  • Last Reply
Posted

Alright. I actually added this to a video that I created recently for SkyrimTuner for RealVision ENB. I thought I understood it and now after reading all the comments just now I'm a little confused lol. If Tech or Z or Tannin would be so kind to answer...

 

1. Can iPresentInterval be deleted entirely from both ini's? 

2. Does deleting iPresentInterval entirely from both ini's do the same thing as if you added iPresentInterval to the Skyrim.ini?

3. If both 1 & 2 are "no" then I understand iPresentInterval=1 should be put ONLY in the skyrim.ini and deleted from the skyrimprefs.ini.

 

 

=)

1. Yes, if editing manually (which I always do). You can not delete it using the Configurator.

2. Yes. It is the same as if adding iPresentInterval=1 to the Skyrim.ini.

3. iPresentInterval has no effect when placed in the SkyrimPrefs.ini, so yes, it would only go in the Skyrim.ini. The game itself mistakenly places it in the SkyrimPrefs.ini when it shouldn't (confirmed via testing).

 

Basically, iPresentInterval should be placed in the Skyrim.ini as "=1" or deleted altogether. It's the same effect either way.

Posted

Slightly off-topic but since the 'Configurator' has been mentioned in this thread, it does fit.

 

The 'Configurator' will NEVER add the iPresentInterval=1 to the Skyrim.ini.

 

I'm assuming that tool utilises the game engine code to make the change, so whenever you you edit the Skyrim.ini and iPresentInterval=1 is missing from that ini, although the 'Configurator' shows the setting and it can be changed to either 1 or 0, when you save that change the edit actually goes into the SkyrimPrefs.ini and not where it should be the Skyrim.ini.

 

This means your default settings will never correctly reflect ANY change to iPresentInterval=1 if you use that tool. As soon as you edit that value the changes are saved into the WRONG place and hence never used.

 

The upshot is: don't use the 'Configurator'.

Posted

Thanks for confirming that ... I never tested Configurator behavior. Tannin and the MO team need to be made aware so that maybe he can change that behavior or at least we can get it into the MO guide

Posted

I took it from his last comment in this thread that @Tannin is aware of this behaviour and is prepared to let it exist as is.

 

I'll find an appropriate place for this in the wiki and add it.

Posted

From what I got from Tannin's comment was the the configurator pulls the parameters from the default INIs that the game creates. Since the game itself erroneously puts it into the SkyrimPrefs.ini, then it shows up in that INI in the configurator. One way to test this is to install a new copy of MO after putting iPresentInterval in the Skyrim.ini and taking it out of the SkyrimPrefs.ini to confirm if this is truly the behavior. In fact...I'll just give this a quick test...

 

Okay, results...

 

  • Deleting iPresentInterval from the vanilla INIs before MO is installed revealed that the parameter is not present in the MO INIs. Changing iPresentInterval to 0 in the Configurator added the parameter correctly to the Skyrim.ini file in MO.
  • Adding iPresentInterval to the vanilla Skyrim.ini before installing MO reveals that MO places it in the Skyrim.ini. Changing it in the configurator correctly changes iPresentInterval in the Skyrim.ini file.
  • Manually moving iPresentInterval into the Skyrim.ini within MO and then changing the paramater in the Configurator was changed it correcting in the Skyrim.ini and did not move it back or add it back to the SkyrimPrefs.ini.

 

The only issue is that the game incorrectly places it in the SkyrimPrefs.ini file and that is why MO puts it there when MO is first installed. That is what Tannin was saying.

Posted

OK, then Configurator and MO both behave correctly ... Skyrim is the only app that somehow does not know how to treat itself.

 

Looks like our recommendations are good then with no worries about Configurator mucking anything up.

Posted

hmm... while I agree with the recommendations staying the same there is something other than what is described going on.

 

In my comment I meant @Tannin was saying the game engine defines the placement of the iPresentInterval=1 incorrectly. I think both of you are also of this opinion? So that isn't in dispute.

The absence or presence of iPresentInterval=1 in ANY file doesn't seem to be the factor.

In my setup iPresentInterval=1 was not in any of the default inis from Skyrim. MO didn't have it placed either and it has never shown up unless the method I presented is used.

 

I still contend the use of 'Configurator' can be problematic because I believe it uses the game engine to generate the setting and therefore it will place it in the wrong file ONLY IF iPresentInterval=1 is not in that file to begin with.

 

@TechAngel85

Your experience with editing the iPresentInterval variable is completly opposite to mine. The 'Configurator' always adds it to SkyrimPrefs.

 

I have added a warning to the wiki about using it for that setting and I think we should look at not promoting the use of this tool until its behaviour is shown to be consistently correct in all occasions.

Posted

 

I still contend the use of 'Configurator' can be problematic because I believe it uses the game engine to generate the setting and therefore it will place it in the wrong file ONLY IF iPresentInterval=1 is not in that file to begin with.

 

@TechAngel85

Your experience with editing the iPresentInterval variable is completly opposite to mine. The 'Configurator' always adds it to SkyrimPrefs.

That's interesting. I was using a fresh download of MO when testing and when it wasn't present in either file, the Configurator added it to Skyrim.ini. I only tested it once so I can't say for certain that it would consistently follow that behavior.

 

I also don't really advocate the use of the Configurator, but it does serve a purpose and can be helpful for some users.

Posted

Either Configurator sets iPresentInterval correctly or it does not. Which is it?

 

Good question I guess. Tannin and Tech both state that Configurator sets it in Skyrim.ini, but GrantSP says that Configurator sets it in SkyrimPrefs.ini.

 

My question is: Does Configurator first read the MO versions of the game INIs before it loads, or do we risk altering our settings when we open Configurator, change a setting or two and then save? I just don't have the time to test this now and am hopeful that one of you all can resolve by testing a gain to be 100% sure of the behavior, since your experiences seem to be contradictory.

Posted

I think I may have found the answer.

It is my test that is in error. oops! /*hangs head in shame*/

 

There was in fact a rogue setting in my default SkyrimPrefs. I was searching for iPresentInterval= but it existed as iPresentInterval = , with the extra space. I found it after refining the search.

 

Upon redoing the test 'Configurator' does in fact place it into Skyrim not SkyrimPrefs.

 

I have a question about this setting though. Why is it labelled as iPresentInterval when according to your tests and the way 'Configurator' works, it acts more like a boolean setting which usually are prefixed by b, as in bPresentInterval?

Posted

Glad that human error exists and that the world makes sense again ;)

 

Perhaps integers > 0 control vsync skip frames? I have not tested this though. If not, then it is either misnamed or a relic from different function in the past.

 

EDIT: No; iPresentInterval is Boolean, as in my testing just now, no integers other than '1' work (any other integer behaves as '0')

Posted

I just tested this and it does seem to control frame skipping. With iPresentInterval=1 I consistently get 60 fps max. When I change this to iPresentInterval=2 I consistently get 30 fps with occasional peaks that never exceed 31 fps. This is using Skyrim Performance Monitor with FPS Averaging disabled.

 

EDIT:

https://www.gamesas.com/not-disable-vsync-t210795.html seems to backup assertions that setting iPresentInterval=0 mucks up quests and day calculations.

 

A message in https://forums.nexusmods.com/index.php?/topic/457187-fps-limiter/page-11 from GriefReaper also suggests that setting iPresentInterval=2 limits to 30fps.

Posted

Where are you setting iPresentInterval? Your result contradicts my own testing, and I would caution that it is very easy to misinterpret results, due to the way this setting works and where in you INIs it is placed (not to mention driver and ENB settings).

 

In light of this contradiction, I went ahead and retested iPresentinterval>1 fairly exhaustively:

  • Deleting iPresentInterval from Skyrim.ini and SkyrimPrefs.ini enables vsync (iPresentInterval=1), presumably because the game effectively sets iPresentInterval=1 when it does not exist in Skyrim.ini
  • Setting iPresentInterval=0 only in Skyrim.ini disables vsync
  • Setting iPresentInterval=1 only in Skyrim.ini enables vsync
  • Setting iPresentInterval=>1 only in Skyrim.ini disables vsync
  • Setting iPresentInterval=? only in SkyrimPrefs.ini has no impact, presumably because the game effectively sets iPresentInterval=1 when it does not exist in Skyrim.ini

Conclusions:

  • iPresentInterval set (to any value) in SkyrimPrefs.ini has no effect
  • only the value set in Skyrim.ini has any effect
  • iPresentInterval>1 (set in Skyrim.ini) is same as iPresentInterval=0, and vsync is disabled. presumably because I am overriding the default set by the game engine with an invalid value, which must be same as setting to '0' in Skyrim.ini

Archived

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

×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.