Vertical refresh troubles - probly simple

Started by
1 comment, last by BeanDog 24 years, 1 month ago
I have this problem. Recently we updated our graphix drivers for our 3d Banshee 16mb card. Since then whenever I run any of my DX7.0a DirectDraw progs or even Donuts or somesuch, it runs at about 600000fps (an exaggeration) despite the refresh rate. This doesn''t happen in other games (i.e. Worms 2, etc.), so they must have set it up somehow besides letting DX handle it. So, how do you wait until the next vertical refresh? Just like... do{}while( !CheckVerticalRefresh() ); where CheckVerticalRefresh() returns true if it''s at the next vertical refresh. thanks. ~BenDilts( void );
Advertisement
Some time ago I had the same problem.

Now I use:
lpDD->WaitForVerticalBlank(DDWAITVB_BLOCKBEGIN, NULL);
where lpDD is of type:
LPDIRECTDRAW
Beware using this function! Windows is stopped while waiting for the retrace!

It''s also possible to use:
while(_inp(0x3DA)&0x08); // Wait if in verticle retrace.
while(!(_inp(0x3DA)&0x08)); // Wait for verticle retrace to begin.
But WinNT does not allow use of I/O this way. Last week I read about a special DLL that will do this for you in WinNT. But I don''t remember where I saw it...

Hope this is what you meant,
Bas.
THANKS A LOT!

I''ve been reposting that question over and over again for days. You''re the first one to answer and YOU WERE RIGHT!

Well, now that that''s out of my system...

There is still a little flickering now and then. Do you get this, too?

This topic is closed to new replies.

Advertisement