游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4498|回复: 4

DDraw的DDSCAPS_SYSTEMMEMORY 到底该怎么用? 请教各位

[复制链接]

8

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2003-12-15 16:39:00 | 显示全部楼层 |阅读模式
都说用显存慢,我就在离屏页上或了一个DDSCAPS_SYSTEMMEMORY
没想到更慢了,fps变成0.X,是什么原因?这个DDSCAPS_SYSTEMMEMORY到底该怎么用呢?

程序是窗口模式的DDraw程序。

先谢谢了。

8

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2003-12-21 10:49:00 | 显示全部楼层

Re:DDraw的DDSCAPS_SYSTEMMEMORY 到底该怎么用? 请教各位

DDSCAPS_SYSTEMMEMORY表示将ddrawsurface保存在系统内存中,相对DDSCAPS_VIDEOMEMORY保存在显存中比较慢

4

主题

22

帖子

22

积分

注册会员

Rank: 2

积分
22
发表于 2003-12-21 11:53:00 | 显示全部楼层

Re:DDraw的DDSCAPS_SYSTEMMEMORY 到底该怎么用? 请教各位

以下是个人看法:
这是一个图片copy的问题
以前出ddraw的时候cpu还比较弱
所以利用显卡的硬件加速能力在显存中建立表面彼此处理图象
但是现在cpu越来越块,在内存中建立表面的做法已经快于在显存中
并且cpu占用资源也不大
所以现在尤其是2D游戏一般倾向于在内存中建立表面

8

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2003-12-21 12:11:00 | 显示全部楼层

Re:DDraw的DDSCAPS_SYSTEMMEMORY 到底该怎么用? 请教各位

我曾经在我的GForce2上测试,发现利用DDSCAPS_SYSTEMMEMORY在Blit时,速度比DDSCAPS_VIDEOMEMORY慢很多,所以对于一些常用的图形,还是用DDSCAPS_VIDEOMEMORY

0

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 2003-12-24 20:39:00 | 显示全部楼层

Re:DDraw的DDSCAPS_SYSTEMMEMORY 到底该怎么用? 请教各位

主要的问题是总线到显存的带宽。
如果直接在显存中用纹理的话处理起来将会很快。
主要是要减少从总线到显存的数据传输量。
把重要的常用的图像比如2D Sprite在一开始非Critical时期Load入显存,
其它的在主机内存中处理一般来说都可以。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-24 21:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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