Jump to content
  • Advertisement


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


DX8 on Win98 slower than Win2000/XP?

This topic is 5285 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So weird thing. The same program that uses Direct3D8 interfaces works very slowly in Win98, but fast enough in WinXP! Why this could be? It seems, hardware acceleration is turned off in Win98! Can I do something with my program? Any suggestions would be very appretiated. Alex

Share this post

Link to post
Share on other sites
Is the same machine running both operating systems? - if it isn''t the same machine, I''d first check for differences in set up and settings of the two machines (from the BIOS upwards).

1) Make sure you''re using the Retail DirectX runtimes on the 98 machine before comparing performance.

2) If you''re using frame rate as your profiler, make sure the 98 machine isn''t locking frame rate to the monitor''s refresh rate (look in your D3DPRESENT_PARAMETERS as well as in the settings for the graphics card).

3) Ensure you have all the service packs installed for your 98 machine - some of the ones released over the years have fixed potential performance issues.

4) On a related note, make sure you have the latest drivers for all components in your system. Motherboard drivers in particlar are VERY important.

5) Check that the AGP aperture size is set sensibly in the BIOS. Run DXDIAG and check that AGP Texturing is enabled to see if there are any problems there.

6) Try comparing the samples from the DirectX SDK on both configurations -:

- if they run at different speeds, your hardware/drivers/configuration is the problem

- if they run at the same speed, your program is the problem - we''ll need more information to be able to help if this is the case.

Simon O''Connor
Game Programmer &
Microsoft DirectX MVP

Share this post

Link to post
Share on other sites
Thanks for your reply.

It is the same machine, the same program and the same DirectX 9.0 (4.09.0000.0900)

1)I am using the same DirectX 9 distributive.

2) I do not change the refresh rate and do not use full-screen mode.
Please explain what you mean ''locking frame rate to the monitor''s refresh rate''?
I am using this structure like this

FD3D.GetAdapterDisplayMode( Adapter, DispMode) ;
ZeroMemory(@PresentPar, SizeOf(PresentPar));
with PresentPar do
Windowed := true ;
hDeviceWindow := Wnd;
BackBufferWidth := WndWidth;
BackBufferHeight := WndHeight;
BackBufferCount := 1 ;
BackBufferFormat := DispMode.Format;
hRet:=FD3D.CreateDevice( Adapter, DeviceType , Wnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, PresentPar, FD3DDevice) ;

I wonder if something is wrong here ? How could I "lock" frame rate?

3) I do not know yet, will see soon

4) I got the drivers that were shipped with my motherboard

5) It is enabled in WinXP. But it is NOT in Win98. It is the same machine, the same BIOS!
I ran 3D testing in dxdiag. It works fine in Win98 and in WinXP.

Could it be the reason (I mean AGP texturing is disabled)
BTW, video card Radeon 9200.

6) I launched 3D testing in dxdiag. It works fine as I mentioned.
Should I run samples anyway?

And what you think, is that problem in my program ?



Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!