游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2386|回复: 7

谁能帮我解决这个左右为难的问题

[复制链接]

2

主题

23

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2004-4-23 12:00:00 | 显示全部楼层 |阅读模式
这里仅限在DDraw情况下:
在游戏开发中经常会遇到需要对Surface执行频繁的写操作,比如进行Alpha混色,但这对在显存中创建的Surface是一大忌(显存读快写超慢)。
于是我就把Surface创建到内存中,写Surface的速度是上去了,但要进行一次内存Surface间的Blt操作比以前又慢了很多倍,在这种情况下,就算是万元以上的专业显卡,如果CPU不强,照样卡帧!因为这种模式从头到尾没有用一点显卡。

咳。。。早知道就用D3D中的2D了,可是正在做的这个东东已经快完工了,请教各位又没有什么好的解决办法,狂谢。。。。。 [em10]

13

主题

77

帖子

79

积分

注册会员

Rank: 2

积分
79
发表于 2004-4-24 11:15:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

把全部显示的地方改成D3D中的2D吧,偶就是这么做的。。。改过来以后狂用ALPHA混色。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20527
发表于 2004-4-24 12:00:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

一般来说DDraw下面多是自己进行"Surface"管理,在内存与内存之间拷贝是存在因为内存带宽而延时的问题,显存与显存之间就比较没有这个问题,这个如何考虑,就要看开发者如何取舍,D3D实现2D虽然alpha混合方面很有优越性,但不要只看它好的一面,呵呵!

2

主题

23

帖子

36

积分

注册会员

Rank: 2

积分
36
 楼主| 发表于 2004-4-26 17:23:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

如果仅仅是内存到内存,显存到显存倒也无所谓,虽然慢点但也慢不了多少
最头疼的是每次渲染必须执行至少一次的内存到显存的Blt,仅这一个操作速度就会下降很多,听说内存到显存可以用DMA实现比较快,我试了试,可能是因为我的方法不对,但最终效果不大

2

主题

23

帖子

36

积分

注册会员

Rank: 2

积分
36
 楼主| 发表于 2004-4-26 17:26:00 | 显示全部楼层

Re: Re:谁能帮我解决这个左右为难的问题



呵呵,下次我会谨慎选择渲染机制的

13

主题

77

帖子

79

积分

注册会员

Rank: 2

积分
79
发表于 2004-4-27 10:45:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

D3D跟DDRAW比哪一方面不好?

2

主题

23

帖子

36

积分

注册会员

Rank: 2

积分
36
 楼主| 发表于 2004-4-27 17:38:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

我只知道如果显卡不支持D3D(古董)的话D3D速度会超慢,别的就不知道了,谁知道麻烦说一下

6

主题

40

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2004-5-3 11:08:00 | 显示全部楼层

Re:谁能帮我解决这个左右为难的问题

可以考虑使用三缓冲来解决问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 16:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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