2012-11-21 33 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等智能指针类有助于避免这些问题。