如果使用DX9SDK(如DX9.0A)時(shí)候使用:
#pragma comment(lib, “d3dx9”)
在這個(gè)版本中d3dx9.lib是一個(gè)靜態(tài)庫(kù),其大小為4281KB,那么編譯出來(lái)的的模塊尺寸都非常大。然而這樣做的好處是即使在干凈系統(tǒng)的機(jī)器上,程序也可以正常運(yùn)行,完全不需要再添加其他D3DX9_XX.dll或者要求用戶安裝DX9 Runtime Library。
而如果我們能采用 2005 February以后發(fā)行的DX9 SDK,那么模塊就會(huì)變成鏈接d3dx9_xx.dll(此時(shí)的d3dx9.lib只是一個(gè)DLL的函數(shù)導(dǎo)出庫(kù)),其尺寸就會(huì)大大減少,但是會(huì)依賴 D3DX9_XX.dll了,其中XX數(shù)值由我們使用的SDK版本(發(fā)布時(shí)間)決定。例如,使用2007 August的SDK編譯出來(lái)的模塊就會(huì)依賴D3DX9_35.dll,其大小為3.55M。
下面,我列舉出到目前為止微軟的DX9 SDK對(duì)應(yīng)的D3DX9_XX.dll以及該版本上與編譯相關(guān)的更新:
D3DX SDK |
安裝的D3DX9 DLL |
尺寸 |
備注 |
Before February 2005 |
無(wú),靜態(tài)庫(kù) |
-- |
在 2005 February之前DX SDK中使用靜態(tài)庫(kù)方式編譯 |
February 2005 Update |
d3dx9_24.dll |
2.11M |
第一次使用D3DX9鏈接動(dòng)態(tài)庫(kù)方式,即d3dx9_XX.dll中的XX的最小數(shù)值為24 從這個(gè)版本開始不再支持Windows 2000平臺(tái)上DirectX的開發(fā) |
April 2005 Update |
d3dx9_25.dll |
2.22M |
獨(dú)立出由于開發(fā)DX應(yīng)用程序的UI框架(DXUT) |
June 2005 Update |
d3dx9_26.dll |
2.19M |
首次提供了用于VS.NET 2005開發(fā)的Sample Project |
August 2005 Update |
d3dx9_27.dll |
2.21M |
可以使用DX Viewer工具查看模型文件(*.x) |
October 2005 Update |
沒(méi)有與D3DX9 DLL相關(guān)的變化 |
-- |
提升了對(duì)VC 2005的支持 |
December 2005 Update |
d3dx9_28.dll |
2.21M |
DirectX 10技術(shù)預(yù)覽 |
February 2006 Update |
d3dx9_29.dll |
2.22M |
-- |
April 2006 Update |
d3dx9_30.dll |
2.27M |
添加了DirectX 10 Sample |
June 2006 Update |
沒(méi)有與D3DX9 DLL相關(guān)的變化 |
-- |
更新了DirectX 10技術(shù)預(yù)覽 |
August 2006 Update |
沒(méi)有與D3DX9 DLL相關(guān)的變化 |
-- |
-- |
October 2006 Update |
d3dx9_31.dll |
2.30M |
為Direct3D 9提供了新的HLSL Shader編譯器 |
December 2006 Update |
d3dx9_32.dll |
3.26M |
提供了DirectX 10第一次官方發(fā)布版本 擴(kuò)展了D3DX函數(shù)功能(Direct3D9Ex) 不再支持Windows 95/98/SE/ME 不再支持Shader Model 1 |
February 2007 Update |
沒(méi)有與D3DX9 DLL相關(guān)的變化 |
-- |
為Direct3D9Ex提供了文檔(Direct3D9Ex is a new version of Direct3D 9 for Vista and can actually be found in the Vista Platform SDK) |
April 2007 Update |
d3dx9_33.dll |
3.33M |
更新了Shader編譯器(不再支持Shader 1.x) |
June 2007 Update |
d3dx9_34.dll |
3.33M |
可用Vista Direct3D9Ex APIs了 |
August 2007 Update |
d3dx9_35.dll |
3.55M |
微軟在此版本聲稱,以后發(fā)布DX SDK的速度將會(huì)是一年4次,而不是像以前一樣,每?jī)蓚€(gè)月發(fā)布一次。 首次引入DirectX 10.1概念 |
November 2007 Update |
d3dx9_36.dll |
3.56M |
聲稱下一個(gè)版本的SDK(March 2008)中將會(huì)支持VS 2008,而不再支持VS 2003 |
March 2008 Update |
d3dx9_37.dll |
3.61M |
DirectX 10.1 RTM 正式放棄支持VS 2003 正式加入對(duì)VS 2008的支持 |
June 2008 Update |
d3dx9_38.dll |
3.67M |
HLSL編譯器被改變,可能會(huì)影響使用之前的SDK開發(fā)的代碼 |
August 2008 Update |
d3dx9_39.dll |
3.67M |
-- |
November 2008 Update |
d3dx9_40.dll |
4.17M |
DirectX 11技術(shù)預(yù)覽 |
March 2009 Update |
d3dx9_41.dll |
未驗(yàn)證 |
Direct2D技術(shù)預(yù)覽 DirectWrite (text rendering) and DXGI (DirectX Graphics Infrastructure)預(yù)覽 |