Is Extreme-G 2 the first commercial game to use dgVoodoo?

General information and assistance with dgVoodoo.

Re: Is Extreme-G 2 the first commercial game to use dgVoodoo?

Postby UCyborg » 2017-5-11 @ 19:52

BES just suspends and resumes the process on regular intervals, which means iterating through its threads and suspending them one by one calling SuspendThread. Limiting FPS usually work by calling Sleep from the main thread, which is where the most interesting things happen, effectively suspending it for the specified time.

Either way, you're not really throttling CPU speed with BES. What you're seeing in Prince of Persia 3D sounds like an interesting phenomenon, I could never influence the behavior of my games with BES that way.
UCyborg
Member
 
Posts: 111
Joined: 2015-9-04 @ 11:10

Re: Is Extreme-G 2 the first commercial game to use dgVoodoo?

Postby xcomcmdr » 2017-5-13 @ 19:07

Dege wrote:Since rewriting the code by changing the float in question to a double would take too much time, I experimented with a stub WINMM.DLL where timeGetTime returns a value having the highest 8 bits masked out, to keep only the lower 24.
And voila, XG-2 ran at 34 FPS again.
:cool:


Cool ! Could you share this stub WINMM ? :)

I think I have a similar problem with MechWarrior 2 : Ghost Bear Legacy (Win32 version). On Windows 10 it calls timeGetTime and then crashes (the crash doesn't happen on Windows 7 and lower).

A stub re-implementing timeGeTime would be a good starting point ! :)
User avatar
xcomcmdr
Newbie
 
Posts: 70
Joined: 2009-9-19 @ 01:03

Re: Is Extreme-G 2 the first commercial game to use dgVoodoo?

Postby Dege » 2017-5-14 @ 11:21

Jorpho wrote:That sounds strangely familiar.

A quick search reveals that similar problems were reported with UT99.
viewtopic.php?f=8&t=32431&p=328803

Will this fix be pushed to the Steam version?


Yes. :)

xcomcmdr wrote:
Dege wrote:Since rewriting the code by changing the float in question to a double would take too much time, I experimented with a stub WINMM.DLL where timeGetTime returns a value having the highest 8 bits masked out, to keep only the lower 24.
And voila, XG-2 ran at 34 FPS again.
:cool:

Cool ! Could you share this stub WINMM ? :)

I think I have a similar problem with MechWarrior 2 : Ghost Bear Legacy (Win32 version). On Windows 10 it calls timeGetTime and then crashes (the crash doesn't happen on Windows 7 and lower).

A stub re-implementing timeGeTime would be a good starting point ! :)


Well, that stub wasn't a complete WINMM implementation because WINMM has 100+ functions and I didn't want to reimplement all of them.
I just whipped up a very minimal one that was enough for XG-2.
Dege
Oldbie
 
Posts: 927
Joined: 2003-9-04 @ 11:06

Re: Is Extreme-G 2 the first commercial game to use dgVoodoo?

Postby teleguy » 2017-5-14 @ 12:26

Dege wrote:
Well, that stub wasn't a complete WINMM implementation because WINMM has 100+ functions and I didn't want to reimplement all of them.
I just whipped up a very minimal one that was enough for XG-2.



Couldn't you just add it here:
https://github.com/rkkoszewski/ogg-winmm/

That winmm is used to emulate CD audio and passes all other functions to Windows' native winmm.dll.
teleguy
Member
 
Posts: 352
Joined: 2004-2-28 @ 18:54

Previous

Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 2 guests