VOGONS


OS uptime faker

Topic actions

First post, by mitradis

User metadata
Rank Newbie
Rank
Newbie

i found some information about stuttering in some old games. I couldn't understand for a long time why if the PC is on for a long time, then when I enter Blitzkrieg I get stutters.

About the major stuttering issue, the one the OP solved by uninstalling GeForce Experience and rebooting. (As opposed to Jocek's minor stuttering, which sounds like a different issue.) I ran into this same problem just now, but I didn't have GFE installed to begin with. But seeing this thread reminded me of another game with a similar issue: Neverwinter Nights 2 has hideous stutter when scrolling if your computer was last booted more than ~1 day ago. That's because it uses a global Windows timer for some graphics tasks, but it can't deal with timer values that are too high. I suspect Blitzkreig has more or less the same issue: simply rebooting solved the stuttering for me.

https://steamcommunity.com/app/313480/discuss … 16640399301556/
Any one knows how reset this timer without windows restart?

Reply 1 of 5, by Squall Leonhart

User metadata
Rank Newbie
Rank
Newbie
mitradis wrote on 2025-03-18, 12:40:
i found some information about stuttering in some old games. I couldn't understand for a long time why if the PC is on for a lo […]
Show full quote

i found some information about stuttering in some old games. I couldn't understand for a long time why if the PC is on for a long time, then when I enter Blitzkrieg I get stutters.

About the major stuttering issue, the one the OP solved by uninstalling GeForce Experience and rebooting. (As opposed to Jocek's minor stuttering, which sounds like a different issue.) I ran into this same problem just now, but I didn't have GFE installed to begin with. But seeing this thread reminded me of another game with a similar issue: Neverwinter Nights 2 has hideous stutter when scrolling if your computer was last booted more than ~1 day ago. That's because it uses a global Windows timer for some graphics tasks, but it can't deal with timer values that are too high. I suspect Blitzkreig has more or less the same issue: simply rebooting solved the stuttering for me.

https://steamcommunity.com/app/313480/discuss … 16640399301556/
Any one knows how reset this timer without windows restart?

https://community.pcgamingwiki.com/files/file … ire-stutter-fix - patches buggy d3d9 games.

Reply 2 of 5, by mitradis

User metadata
Rank Newbie
Rank
Newbie

Squall Leonhart ty for answer. But this will not allow to put dgvoodoo. Dege can you add this feature?

Reply 3 of 5, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
mitradis wrote on 2025-03-19, 19:33:

Squall Leonhart ty for answer. But this will not allow to put dgvoodoo. Dege can you add this feature?

I think this is the famous uptime bug, as they instructed, restarting the PC should fix the problem. I generally don't see it as a dgVoodoo2 related thing.

previously known as Discrete_BOB_058

Reply 4 of 5, by Squall Leonhart

User metadata
Rank Newbie
Rank
Newbie
mitradis wrote on 2025-03-19, 19:33:

Squall Leonhart ty for answer. But this will not allow to put dgvoodoo. Dege can you add this feature?

BEEN_Nath_58 wrote on 2025-03-20, 02:44:

I think this is the famous uptime bug, as they instructed, restarting the PC should fix the problem. I generally don't see it as a dgVoodoo2 related thing.

The uptime bug is just QueryPerformanceCounter returning large numbers,

the dll fix just fakes the current QPC time, this should do similar

https://github.com/CookiePLMonster/UptimeFaker/releases

unpack the attached into the game folder, if it doesn't load the winmm.dll, try any until you find one that works.

The attachment UptimeFaker.zip is no longer available

Requires VS2015-2022 redist x86

It would be ideal for DgVoodoo to implement it too, to minimize the amount of dll's doing things in the game process.

Reply 5 of 5, by Dege

User metadata
Rank l33t
Rank
l33t

The thing is, that I cannot "just implement" everything that's not related to the dgVoodoo graphics dll's. There are things, like the mouse, or GDI in general that can be hooked along the way (more or less), when dgVoodoo rendering is active, but not everything. Querying the OS uptime is completely independent API on Glide and DX, and hooking it right at the process startup is a must (see UptimeFaker you linked). Otherwise the application could get inconsistent time data. For example, it can query it once before even initializing rendering, to have a "start" point, and then do it frequently during rendering, when dgVoodoo returns the altered data.

The only way for these type of hooks would be distributing a winmm.dll in the dgVoodoo package. Btw, I have such a dll but it didn't work with a game I tested it with, so I did not bother with that any further. 😁