Archived

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

Deficite

DX 8 SDK vs DX 9 SDK

Recommended Posts

Hello, I''m not sure whether or not to change to dx 9 sdk just yet, i''m only running on a GeForce 3 card. But I sure would like to try it out! So I have a few questions for you guys: 1) Is it possible to run dx 8 sdk and dx 9 sdk at the same time and develop dx apps with both? 2) I don''t want to mess up my current projects by installing dx 9, so is it possible to return to dx 8.1 runtime if something goes wrong with my current programs(compiled with dx 8.1)? 3) Is there a "Create Dx 9 project" in VS.NET now? 4) Is it great? =) Regards, Deficite

Share this post


Link to post
Share on other sites
1) all the versions of directx are compatible with eachother, that is what versioning is. How do you think all your games that use DX7 still work when you installed DX8 ?

2) its pretty easy to convert your apps from DX8 to DX9 if you are using the un-managed part of DX9

3) yes, there is an app wizard, and the same create device, vertex buffer creation, lighting, and all those basic tutorials that are in DX8 (im doing a quick run-down of them now to get used to managed dx)

4) yes, it is amazing. Managed DX is quite a bit simpler than C++ DX, reminds me a bit like OpenGL where everything just "works", yet its even more object oriented and better layed out than even DX8.

Just get it and learn it its amazing

Share this post


Link to post
Share on other sites
Hello again,

Thanx for the replies. The reason for me asking question 1 is that when i converted from runtime 8.0 to runtime 8.1 something got fucked-up and some programs begun running slow as hell. Question two should be: Is it possible to un-install direct x 9 runtime ( and sdk )?

Regards,
Deficite

Share this post


Link to post
Share on other sites
quote:
Original post by Smurfwow
you could use vs6''s text editor to write c#. then compile it using csc.exe. (c#/csc.exe are examples, you could use any language/compiler).




Thats an interesting idea, maybe you could use a project template to configure everything. Of cource you need csc.exe Isnt there an open-source project for this?

I will learn DX9 when its time to start another game, DX8 works just fine for me. I don''t even use any of the advanced features of DX8 yet too!

Share this post


Link to post
Share on other sites

I''ve just downloaded and had a quick peek at the DX9 SDK and I have to say what a splendid effort it seems to be.

Now, if someone could just explain the difference between managed DX9 and unmanaged, I would really appreciate it!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I''m don''t know the detals,
but i''ve been fiddling with it in C# for a couple of days and all I say is IT WORKS FOR NEWBIES!! )

The whole API is re-done and it is cleaner, more intuitive and all overall easier to understand.

Eg no DIRECTXNICELONGCAPSDEVICETHINY8 thing; thing.mjnverwoiFunnyName31 = value;

zilch_

Share this post


Link to post
Share on other sites
Yea, who would give up beloved C++ for C#? It''s just Microsoft''s attempt to rule the world -- excuse me, one of many. But I''m writing a series of tutorials on DirectX 9, so if any of you want to learn it, come and check my tutorials out. Nothing''s up yet, but some tutorials should be up by the end of the day.

[  c o d e  m a t r i x  ]

Share this post


Link to post
Share on other sites
Hi to everyone out there that thinks microsoft is trying to take control of the world, you are right but Managed DirectX9 is really reeeeaallllly fast to learn use and easy to make changes. the concepts of OOP in C++ were tacked on to it (yes i know you guys are going to bash me for that one). C# is only 10% slower than C++ and thats only worth the 10% speed increase if you are good enuff to get it. I know im Ranting and raving about how great C# is, but it''s becouse it is that great. on a side note has anyone looked at the differences between the C# help and the C++ help for DX9, it''s a big diffrence, So this is for Anyone just starting out right now you can spend 2 years learning how to use C++ in windows and using DirectX, and get almost nowhere or you can use C# and learn more in 3 days.

Great White Hunter Hunt to kill, kill to live, live to hunt.

Share this post


Link to post
Share on other sites
NOTE: I''m not bashing C#, just being a realist here. I plan to get it soon and try it.

I''d really like to get C# and test these claims that it is only ''10% slower'' than C++. I highly doubt that. I suspect that in real world applications, it is far slower. Even with JIT, I highly doubt it can match the speed of a full application in native instructions, and well written and compiled with a real compiler (Intel C++ or GCC). All I see are claims about simple demos so far. What about real world test? And how exactly do you profile a C# application?

For things like simple 3D demos, C# and Visual Basic are fine, and it doesn''t surprise me that they have the relative same frame rate as C++, as it''s all a matter of your video card, not your CPU. All the CPU does is keep feeding the video card as fast as possible, and most of the time it''s waiting for the video card.

I bet for real computational tasks like DSP or neural networks C# would choke. I know VB does, and VB can compile to native instructions. And I wonder how well C# can vectorize and make use of SIMD extensions or auto-parallel code? Intel C++ compiler can do all this, and it does a hell of a good job at it. In fact I rarely write assembler anymore using Intel''s compiler, it is that #@#$ good.

Even more all of the features of C# imply a big penalty to me immediately. One of the reasons C++ is known for speed is that it has very little features as possible, it is up to the developer to implement it. It is as close to the metal as possible.

I think C# is going to be the big thing for tools. GUI crap is tedious in C++. If it can interface to C++ through COM or DLLs, than it is useable. If it can''t, I''ll stick to Borland C++ Builder instead.
















Share this post


Link to post
Share on other sites
You have to uninstall dx8.1 sdk before installing dx9 sdk as the docs said. You then install dx9 debug runtime if you want to switch between retail and debug runtimes. dx9 runtime or dx7/8 interface is so far stable. I''ve played NOLF demo for several hours w/o any crashes. You can compile dx8.1 apps on dx9 w/o problems(code unmodified, no macros to define) because dx9 sdk includes dx8.1 libs and headers. I like dx9 so far. The sample browser is very handy.

Share this post


Link to post
Share on other sites
quote:
Original post by Deficite
Hello again,

Thanx for the replies. The reason for me asking question 1 is that when i converted from runtime 8.0 to runtime 8.1 something got fucked-up and some programs begun running slow as hell. Question two should be: Is it possible to un-install direct x 9 runtime ( and sdk )?

Regards,
Deficite


You can do it only on WinME and WinXP because it has the "System Restore"
functionality, create a restore point before installing DX9, when
you want to uninstall DX9 just restore your computer to the
restore point you''ve created.

KaMiKaZe

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by JD
You have to uninstall dx8.1 sdk before installing dx9 sdk as the docs said. You then install dx9 debug runtime if you want to switch between retail and debug runtimes. dx9 runtime or dx7/8 interface is so far stable. I''ve played NOLF demo for several hours w/o any crashes. You can compile dx8.1 apps on dx9 w/o problems(code unmodified, no macros to define) because dx9 sdk includes dx8.1 libs and headers. I like dx9 so far. The sample browser is very handy.


You dont technically have to uninstall the DX8.1SDK before you install the 9 SDK (just change the path to say c:\dx9DSK), they co-exist peacefully (debug runtimes on the other hand, no). I have that setup now.

Given that DX9 includes almost everything in the DX8.1SDK, this isnt much of an issue, but not *all* of the samples were included, so if you want to refer to the old code, then keep it around...

I guess it depends on what you are trying to do...

Share this post


Link to post
Share on other sites
quote:
Original post by Cybertron
Thats an interesting idea, maybe you could use a project template to configure everything. Of cource you need csc.exe Isnt there an open-source project for this?



nope, but there is a closed source project, made by microsoft, which includes csc.exe, and can be downloaded by anyone for free. Its called the ".NET SDK".



Share this post


Link to post
Share on other sites
Definately not the C# language.. as I've been using it for awhile now in enterprise apps and seeing a huge difference in productivity and speed.

Also check out http://www.exocortex.org/3dengine/ which is a c# coded engine using an OpenGL wrapper.

If there are any performance flaws they are either in the .NET framework (i doubt it) or the directx sdk (i'll bet anything on this)


[edited by - Nitemare on December 23, 2002 11:14:50 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by Cybertron
Thats an interesting idea, maybe you could use a project template to configure everything. Of cource you need csc.exe Isnt there an open-source project for this?



www.go-mono.org



Share this post


Link to post
Share on other sites