游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5113|回复: 11

用D3D内存占用怎么这么大?

[复制链接]

9

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2006-7-14 22:32:00 | 显示全部楼层 |阅读模式
用D3DXCreateTextureFromFileEx加载1M多的256色位图,内存占用却增加了4M,为什么?怎么才能解决?

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2006-7-15 08:19:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

1.看看你设定的格式。用了D3DXCreateTextureFromFileEx,可以设定是多少位的,且要看看你设定的屏幕位数。这一个设定在创建Device时要传进去。
2.你在***EX里选用的内存管理方式是Managed还是Default?选用Managed会多占用一倍的内存,多占用的内存被用来备份此纹理,以防Device Lost时快速载入。
3.你使用256*256的纹理还占了1M的大小,说明是BMP或未compress的tga文件,不建议在纹理制作时使用这两种格式。把他们压缩成dds文件吧。

9

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2006-7-15 14:05:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

问题已经解决,你们说的都不对,再怎么也不能1M变4M吧?呵呵

5

主题

217

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2006-7-15 14:14:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

1M可以变成2M
如果是用了dds文件,你的1m可以变成32k自己算算华不华得来

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2006-7-15 17:36:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

1M可以变成4M啊?
256色改成32位不就成了。

9

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2006-7-16 23:28:00 | 显示全部楼层

Re: Re:用D3D内存占用怎么这么大?

MathSlope: Re:用D3D内存占用怎么这么大?

1M可以变成2M
如果是用了dds文件,你的1m可以变成32k自己算算华不华得来

1M变32k?!
是不是啊?这样的话显存就直接不成问题了啊
哦,我有点印象了,好象《暗黑》也是用DDS
能给推荐个比较好的BMP批量转DDS的工具吗?

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2006-7-17 12:30:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

MipMap Level 改为1试试

9

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
 楼主| 发表于 2006-7-17 14:46:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

大家给推荐一个批量转DDS的工具吧
1M变32K这实在是太诱人了

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2006-7-19 19:24:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

好像NVIDIA发布过专门导出DDS的Photoshop插件。

0

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2006-7-20 13:35:00 | 显示全部楼层

Re:用D3D内存占用怎么这么大?

TV3D里好像有个工具,加上批文件试试?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 15:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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