|

楼主 |
发表于 2010-11-12 14:19:00
|
显示全部楼层
Re: Re:为什么DX9频繁创建纹理,会无缘无故多出内存??
hevinci: Re:为什么DX9频繁创建纹理,会无缘无故多出内存??
PS;
1:以上纹理尺寸均为320×240
-------------------------------
大小不满足2次幂的时候,创建的...
1:我未使用纹理过滤:
D3DXCreateTextureFromFileEx(m_pD3DDevice, "Media\\孔庙_01.jpg",
info.Width,
info.Height,
D3DFMT_FROM_FILE,
0,
D3DFMT_A8R8G8B8,
D3DPOOL_MANAGED,
D3DX_FILTER_NONE,
D3DX_DEFAULT,
0,
NULL,
NULL,
&m_pTextures[3]);
2:即便是这个原因,为什么程序刚运行时内存不多出来,而是在创建和销毁有了一定次数之后才会多出一些内存?
说简单点,比如我每次销毁当前渲染的5个纹理,然后创建新的5个纹理,假如他们一共占了10M的内存,那让他频繁去执行这么一个过程:创建5个,销毁5个、创建5个,销毁5个……内存应该永远都是10M吧,你这种解释说不过去吧?
因为既然每创建纹理都要多出那些内存,那程序所占的内存从开始到结束永远是恒定的,不可能有变化。而我问的恰恰就是为何会突然多出内存。
显然“多出来的部分,就是增加的内存”在逻辑上经不起推敲。 |
|