游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5550|回复: 17

[问题]请问大家是如何解决内存占用过大的问题的?

[复制链接]

21

主题

126

帖子

144

积分

注册会员

Rank: 2

积分
144
QQ
发表于 2005-8-19 14:39:00 | 显示全部楼层 |阅读模式
我用DX8的createtextureforomfileex载入了大约12M的jpg\png\bmp图片,但是查看内存,竟然占用了百多M的内存,吓~~~~

不知道大家是如何解决此类问题的?希望能提供一点方法~~

46

主题

281

帖子

313

积分

中级会员

Rank: 3Rank: 3

积分
313
QQ
发表于 2005-8-19 15:09:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

。。。肯定是程序有问题了

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2005-8-19 15:20:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

肯定比12M大了,但也不至于大到100多M吧

85

主题

824

帖子

878

积分

高级会员

Rank: 4

积分
878
QQ
发表于 2005-8-19 15:22:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

图片载入后的大小应该只比该图片的bmp格式文件大小大点,
你是不是用了miptexture

21

主题

126

帖子

144

积分

注册会员

Rank: 2

积分
144
QQ
 楼主| 发表于 2005-8-19 15:59:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

miptexture是什么?
与creattexturefromfileex中的MipFilter有关吗?

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-19 16:57:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

就是为了避免纹理远时造成的出错,而创建几张比原纹理小的纹理来做后备。如果原来的纹理是128x128,那么一级mip就是64x64。总之会创建多几张纹理。

21

主题

126

帖子

144

积分

注册会员

Rank: 2

积分
144
QQ
 楼主| 发表于 2005-8-19 19:56:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

未懂~~
大概意思是我用了Miptexture而导致的吗?如何去掉(因为我不知道如何使用)

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-8-19 20:19:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

用这个试试D3DXCreateTextureFromFile,我也不知道是不是mip的问题

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-8-20 09:28:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

赫赫,他只怕是用了一大堆jpg格式的图片,而且读取格式肯定不是压缩格式

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2005-8-20 10:54:00 | 显示全部楼层

Re:[问题]请问大家是如何解决内存占用过大的问题的?

创建贴图的时候,POOL最好使用DEFAULT而不是MANAGED
因为MANAGED的资源API会在系统内存也分配同样大小的一块内存,用来在lost-reset device的时候自动恢复,不过这一步完全可以自己来做,所以就直接用DEFAULT的POOL,来省去这一部分系统内存吧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 13:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表