2012-11-21 34 views
0

我打算在C++和DirectX 9中製作遊戲引擎。所以我只是測試了Direct3D中的功能。我的問題是,當我使用Direct3DX函數(文本,紋理,網格)渲染對象時,應用程序的內存使用量不斷增加,我的電腦性能下降。當我只有一個沒有任何渲染的清除場景時,內存使用保持在4mb左右,但是當我添加文本或網格(即使使用預定義的網格繪圖函數,即D3DXCreateBox,D3DXCreateTeapot),上述問題也會發生。任何人都可以幫我修復它嗎? 注意:當我不在一個循環渲染時,內存使用保持在9mb,但當然,一切都保持靜態。渲染網格時C++中的內存泄漏

+2

你是如何測量內存使用量的? FYI任務管理器幾乎沒有用於此目的。而且,還有無數方式可能發生內存泄漏。除非你給我們一個[簡短的,獨立的,正確的(可編輯的),例子](http://www.sscce.org/),否則我們無法幫助你。 –

+0

代碼示例?我沒有使用DirectX,但是從你所說的那裏必須有必要在重新渲染之前清除場景... – nonsensickle

+0

不要使用指針。不要使用'new'。 –

回答

2

當您完成使用它們時,是否調用了D3D接口指針的IUnknown :: Release?使用ATL的CComPtr等智能指針類有助於避免這些問題。