Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Which DirectX SDKs can be used with DGDK?

Author
Message
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 6th Feb 2009 11:17
I'm using August 2007 DirectX 9.0c SDK, that's no surprise so far, as it is declared in the DGDK system requirements:

http://gdk.thegamecreators.com/?f=system_requirements

However, in february newsletter appeared the 'Free Screen Saver Source Code powered by PhysX' that states as requirement the DirectX SDK March 2008 (or later):

http://gdk.thegamecreators.com/ (bottom of page)

I ask because, after some testings, Cloggy has discovered that there is a difference in performance when using one SDK or another, at least with his D3D Func library.
In the comparison of August 2007 SDK vs October 2004 SDK, October 2004 SDK performed as much as a 600% (six times faster) than the August 2007 SDK.

I was wondering if perhaps this could affect the whole DGDK itself, and therefore our programs could have a better performance when using the 'best SDK'.

In line with this, I'm planning to do a performance test of DGDK 2008 vs DGDK 2005, as 2005 version used a different SDK.

so, has anyone tested/installed or using DirectX SDK March 2008 with DGDK? Is anyone using a SDK other than August 2007 DirectX 9.0c SDK?
Any thoughts are welcome as well
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 6th Feb 2009 11:51
will anything other than the august sdk work when compiling?

doe sthe november dgdk update still use the august sdk or maybe it uses a more recent ver$?
david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 6th Feb 2009 12:42
I know the Nov 2008 SDK does not.
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 6th Feb 2009 13:55
Quote: "will anything other than the august sdk work when compiling?"


Well, I don't know, but why would the 'Free Screen Saver Source' require DirectX SDK March 2008 if it does not then?
AlexI
19
Years of Service
User Offline
Joined: 31st Dec 2004
Location: UK
Posted: 6th Feb 2009 15:21
Intresting, would be good if you get GDK running faster

Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 13th Feb 2009 11:37
Well I have news here, lets see:

-Performance of DGDK 2008 vs DGDK 2005 is equal so far.

-As Cloggy proved with his D3DFunc library, compiling with 2004 libraries gives a boost, at least in some cases.

For you to check, I attach a project with 2 executables and the Summer 2004 'd3dx9.lib' library.

- One executable has been compiled with August 2007 'd3dx9.lib'.
- The other executable has been compiled with Summer 2004 'd3dx9.lib'.

To compile using the Summer 2004 'd3dx9.lib', I replaced the library directly in the August 2007 library folder.
Also, 'libcp.lib' must be added to the 'Ignore Specific Library' option under Project propierties->Linker->Input.

You can check the executables on your machines, and tell which one performs faster.
You can also try to compile the project with the Summer 2004 'd3dx9.lib', as described above.

My results:

* Summer 2004: 30 fps
* August 2007: 5 fps

So, Summer 2004 'd3dx9.lib' performed six times faster than the August 2007 SDK, at least in this example.

What all this means? That older code performs faster?

This gives me the idea that, perhaps we should build our projects making static libraries using 2004 SDK, while keeping the DGDK side compiled with ... August 2007?

Attachments

Login to view attachments
adastras
17
Years of Service
User Offline
Joined: 15th Oct 2007
Location:
Posted: 13th Feb 2009 13:35
Screen 1920x1200 2,4GHx4 video 1GB:
15 / 3
bjadams
AGK Backer
16
Years of Service
User Offline
Joined: 29th Mar 2008
Location:
Posted: 13th Feb 2009 15:31
well this example only tests text printing. what about other more important functions like 3d?

also why is the summer04 exe double the filesize of the august07 exe?
Mistrel
Retired Moderator
19
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 13th Feb 2009 20:07 Edited at: 13th Feb 2009 20:08
Core2Duo 2.5Ghz, GeForce 8400GS:

~60fps/~5fps

My video card is very underpowered so maybe the older libraries offloaded text processing to the cpu?

adastras
17
Years of Service
User Offline
Joined: 15th Oct 2007
Location:
Posted: 13th Feb 2009 20:31
text.cpp: void AAText(int nFont, int x, int y, int nAlign, LPSTR pString) ... dbDrawSpritesFirst (); -> make Sprite (dbSprite...) invisible ->

//dbDrawSpritesFirst ();
Morcilla
21
Years of Service
User Offline
Joined: 1st Dec 2002
Location: Spain
Posted: 14th Feb 2009 11:01
Quote: "well this example only tests text printing. what about other more important functions like 3d?"


I haven't had the time to do further testings...
If the difference with just text is this, well it must affect DGDK libraries as well, that are already compiled using August 07 SDK.
However, this doesn't means that the raw power for 3d is different. Enough polygons will always kill your fps.

Quote: "also why is the summer04 exe double the filesize of the august07 exe? "


Well, I don't have the answers, I'm wondering as well. Perhaps August 07 is optimized for size, while Summer 04 is more optimized for fast code...
If you look to the 'd3dx9.lib', August 07 has a few Kb, while Summer 04 is around 5 Mb, uh.

Quote: "~60fps/~5fps

My video card is very underpowered so maybe the older libraries offloaded text processing to the cpu?"

Wow, great difference in fps, but I really doubt that the program is managed differently just because of the hardware.

Quote: "text.cpp: void AAText(int nFont, int x, int y, int nAlign, LPSTR pString) ... dbDrawSpritesFirst (); -> make Sprite (dbSprite...) invisible ->

//dbDrawSpritesFirst (); "

adastras, are you ok?

I've read that DirectX 2004 SDK was the last pure unmanaged code library. Since then, all libraries are built to support managed code. Microsoft stated that managed code libraries only hit a 2% in performance, but for whatever the reason, the difference is higher here (1200% for Mistrel numbers).

Obviously (ajem), if we could take advantage of this, then we could have a much higher performance with DGDK.
Also, it reveals that performance can be different from one SDK to another, so it would be good to find the fastest (and compatible) one, if possible.

Login to post a reply

Server time is: 2024-11-25 13:32:45
Your offset time is: 2024-11-25 13:32:45