Is D3DX undesirable?

Started by
36 comments, last by Mezz 18 years, 10 months ago
just use opengl...solves all your problems...
Advertisement
"just use opengl...solves all your problems..."

No it doesn't. OpenGL doesn't have something coresponding to D3DX at all. And it has it's own share of problems. You have to download stuff for OpenGL as well ( extensions for example ), so neither is better than the other. DirectX is very good at some things, while OpenGL at others.

To answer the first post. Many people write their own code just the learn what it is all about. I know i write most of the stuff that i could get from the D3DX libray. Not because i can do it better ( most of the time you cant ), but because i want to learn how it works.

// Allmight
-------------------------------------------------Founder and DirectorAllSoft Studios
Quote:Original post by Pipo DeClown
Quote:Original post by Trip99
This issue came in with the February release that moves D3DX into a dll d3dx9_24.dll, then in April it is d3dx9_25.dll. It is only a pain for those who do not distribute the end user runtime with their apps. This applies to me because my stuff is generally downloaded and I assume the user has DirectX 9.0c on ther machines. Now they need DirectX9.0c + the correct D3DX dll. The simple solution is of course just to include the dll with your app however this is against the Microsoft license agreement...


Agree, PITA.



Chuck Walbourn from the DirectX/WGGT team commented about this exact issue on the DirectXDev list:

Quote:You are expected to ship the REDIST with your application. There are directions in the latest SDK on how to cut out certain components to reduce the size of the REDIST (don't need DirectShow, don't need Windows 9x/ME support, don't need managed support, etc.). You currently must include at least the 2000/XP DirectX 9.0c files as part of the REDIST.

The next release of SDK (June) will support cutting out most everything except the D3DX .cab and DXSETUP.EXE/DirectXSetup will succeed if the system already has DirectX 9.0c runtimes installed. This should make it easier for downloadable applications.

If you happen to require an older D3DX dll, the REDIST supports installing older D3DX cabs as part of a newer REDIST (for cases where you might need both Feb D3DX and Apr D3DX or something like that).

Directions on all this can be found in the April SDK's C++ documentation under the topic "Installing DirectX with DirectSetup"

-Chuck Walbourn
SDE, Windows Gaming & Graphics



So, in summary:

1) with the currently available SDK, you can legally reduce the size of the redist quite a lot by removing components such as DirectShow and Managed support.

2) with the next SDK, you will be able to legally strip the redist down to just D3DX and the setup files. Panic over.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

That sounds good but do you have any idea on the size of this reduced redist? I have a program that is about 2MB to download. If I add a redist which is a few meg itself I may start hitting my website bandwidth limit. I will need to do some experiments and see how much it reduces to.
------------------------See my games programming site at: www.toymaker.info
Quote:Original post by Trip99
That sounds good but do you have any idea on the size of this reduced redist? I have a program that is about 2MB to download. If I add a redist which is a few meg itself I may start hitting my website bandwidth limit. I will need to do some experiments and see how much it reduces to.


This is from another email on the DIRECTXDEV mailing list, sent out by Chuck Walbourn on 13th April:

Quote:In any case, we are
on-track for a solution in the June release. The solution is going to
be through the existing DSetup API and you can test and release it with
the SDK you have available today, the resulting REDIST will just drop in
size from 16 Mbytes to less than 4 Mbytes if you can guarantee your user
already has DirectX 9.0c installed.


I'd still wait till the June update is out (should be sometime soon!), but provisionally it looks like 4 Mbytes is the estimate.

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Quote:Original post by jollyjeffers
I'd still wait till the June update is out (should be sometime soon!), but provisionally it looks like 4 Mbytes is the estimate.


BTW: I think that 4MB is the *uncompressed* estimate. Looking at the Redist folder in the April SDK seems to confirm this:

Apr2005_d3dx9_25_x64.cab (1317 KB),
Apr2005_d3dx9_25_x86.cab (1055 KB)
[Total: 2372 KB]

Looking inside the _x64 CAB, the uncompressed total size for the files is 3801 KB, and looking inside the _x86 CAB, the uncompressed total size is 2295 KB.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

Well that may be ok. I wonder what else is making it 4MB as the d3dx dlls are not that big (d3dx9_25.dll is 2.22MB uncompressed). If this is for people with DirectX 9.0c already then you would think all they would need is the dll. Of course the dll in the next release may be bigger.
------------------------See my games programming site at: www.toymaker.info
Quote:Original post by Trip99
Well that may be ok. I wonder what else is making it 4MB as the d3dx dlls are not that big (d3dx9_25.dll is 2.22MB uncompressed). If this is for people with DirectX 9.0c already then you would think all they would need is the dll. Of course the dll in the next release may be bigger.


The extra overhead is that you still need to ship our dxsetup.exe, dxsetup16.dll, dxsetup.dll, and dxupdate.cab files in order to install anything.

(And, yes, before anyone asks, we're looking at ways to reduce the size of those too... ;)

Paul
It would be really nice if there was a single exe that you could distribute and run that would just install the D3DX DLL as needed.

I think it would be fine if this was simply just a self extracter that had the above mentioned files and did the needed stuff. I assume there is an option to do a silent install that just puts the DLL in place?

I'd just like as simple a solution as possible to patch this to our installed base (MMORPG). They will all be already running Dx9c and we just want to get the D3DX DLL to them in a legal way that is transparent for them.

Quote:Original post by reltham
It would be really nice if there was a single exe that you could distribute and run that would just install the D3DX DLL as needed.

I think it would be fine if this was simply just a self extracter that had the above mentioned files and did the needed stuff. I assume there is an option to do a silent install that just puts the DLL in place?

I'd just like as simple a solution as possible to patch this to our installed base (MMORPG). They will all be already running Dx9c and we just want to get the D3DX DLL to them in a legal way that is transparent for them.


One can build such a solution with the provided files. It seems questionable what value we could provide in providing a self-extracting exe of those files. Given that your likely providing other files with the patch, it seems odd to archive up the d3dx redist stuff and then archive that up with the other patch files, no?

While we are investigating other redist options, it is unlikely that one will ever see anything that treats d3dx specially.

Paul


This topic is closed to new replies.

Advertisement