社区
游戏开发
帖子详情
怎么我搞的东西这么慢?
vertex
2001-05-22 11:07:00
我把800*600*16bit的内存拷贝到另一个800*600*16bit的内存(都是系统内存),然后把第二块内存copy到DX的BackSurface上,然后把PrimarySurface Flip一次,就这个简单的过程,居然只有60多FPS,为什么哩?
两次内存拷贝我都用的"rep movsd"指令,还有什么更快的吗?MMX不提.
最耗时的应该是copy到BackSurfac的过程,因为那是video mem.....可,咋办哩?烦恼.
...全文
161
12
打赏
收藏
怎么我搞的东西这么慢?
我把800*600*16bit的内存拷贝到另一个800*600*16bit的内存(都是系统内存),然后把第二块内存copy到DX的BackSurface上,然后把PrimarySurface Flip一次,就这个简单的过程,居然只有60多FPS,为什么哩? 两次内存拷贝我都用的"rep movsd"指令,还有什么更快的吗?MMX不提. 最耗时的应该是copy到BackSurfac的过程,因为那是video mem.....可,咋办哩?烦恼.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vertex
2001-05-23
打赏
举报
回复
多谢kevin和Neo2d
我试了把800*600*16bit的内存Surface Blt到显存的BackSuface,速度没有提高多少.......
唉,这个问题就先这样吧
我试了只执行一次内存==>内存copy或者只一次内存=>BackSurface然后Flip都可以100FPS以上...先搞其他的...呵呵
vertex
2001-05-22
打赏
举报
回复
wu,刚才和一位老兄聊了聊......我好像记得Flip设了Wait标志,应该是会等待垂直回扫的,我的屏幕刷新率好像是75HZ,所以最高也不会超过75FPS....不知道大家有没有异议?
CTimerain
2001-05-22
打赏
举报
回复
larrow的程序我看了,GF2上的表现也不过是24-30fps,不高。
vertex
2001-05-22
打赏
举报
回复
to larrow:不好意思,忘了说我的机器,赛羊433,TNT2 Pro
我决定60FPS应该算慢了吧,因为将来游戏里还要加一些逻辑,还有一些blt和效果什么的,,,,,,我觉得如果有120FPS的话可以放心的往下作了......
to kevin:恩,我是4字节对齐的.....
Kevin_qing
2001-05-22
打赏
举报
回复
注意内存里面的surface地址最好是DWORD align的。
否则movsd会降低效率。
另外可以试试3重缓冲。
Kevin_qing
2001-05-22
打赏
举报
回复
注意内存里面的surface地址最好是DWORD align的。
否则movsd会降低效率。
另外可以试试3重缓冲。
Larrow
2001-05-22
打赏
举报
回复
vertex,你认为60FPS还算慢马?我的显卡只有1兆现存的,也是在16bit下才29fps,我觉得,
你只要是操作完成后,最后一步blt到backbuffer就因该是最快了,在flip有多少帧也就认了。
我不知道你试没试过用显存,好像还没能存快,我不知道为什么。
别人还有什么好办法吗?
CTimerain
2001-05-22
打赏
举报
回复
那你不会压一下
vertex
2001-05-22
打赏
举报
回复
别,调色板处理豁烦的.而且16bit的alpha混合什么的我都写好了,而且速度很满意.
CTimerain
2001-05-22
打赏
举报
回复
谁叫你用16位色的
用256吧
Neo2D
2001-05-22
打赏
举报
回复
>我把800*600*16bit的内存拷贝到另一个800*600*16bit的内存(都是系统内存),
这里执行通常的内存拷贝应该比BLT快,也不用每次都lock。
>然后把第二块内存copy到DX的BackSurface上,
这步如果执行普通内存拷贝应该是速度瓶颈。
>然后把PrimarySurface Flip一次,
这部有硬件支持就几乎不花时间。
>就这个简单的过程,居然只有60多FPS,为什么哩?
>两次内存拷贝我都用的"rep movsd"指令,还有什么更快的吗?MMX不提.
>最耗时的应该是copy到BackSurfac的过程,因为那是video mem.....可,咋办哩?烦恼.
建议从内存到BackSurfac采用BLT,因为在显卡比较好的情况下,执行的是DMA操作,
也就是和CPU同步工作,不占用CPU时间。当然前提是单纯拷贝,如果还要逐象素操作
那就不行了。
Kevin_qing
2001-05-22
打赏
举报
回复
是啊,等待垂直回扫是很费时间的。
所以要计算你的MAX FPS时不应该等待它
为什么RStudio Server这么
慢
?
搞
清除了RStudio工作的大致流程,我们可以看出,RStudio目前的架构很糟糕,不适合大规模并发请求,对时间要求很高很频繁的互动性操作恐怕也不太胜任。本来想针对RStudio的问题做一些优化工作,但看到基本盘是这样的...
老子双核的电脑为什么这么
慢
?
清晰地记得当初第一台电脑667M左右的奔三CPU,128M内存,“大哥大”显示屏,有时看时间久了眼疼,但是每次... 电脑硬件虽然和现在那些所谓的四核、八核、超级本、NB PC什么的相差太多,那时我以上所有的需求都能满足
发起ajax请求很
慢
,为什么我的Ajax请求比一般的浏览器请求
慢
得多?
我为一位朋友创建了一个网站。因为他希望音乐播放器能够通过页面加载继续播放...为什么我的Ajax请求比一般的浏览器请求
慢
得多?有几点:初始页面加载是相当快的。 Chrome开发者控制台告诉我,“index.php”在大约...
学前端进度
慢
怎么办?前端学不懂怎么办?
前端是一个广而深的知识,需要学的知识非常多,记不住、
搞
混淆太正常了,多记、多练、多想。前端学习本身就是艰苦的任务,要学会调整自己的心态,有足够的耐心和毅力攻克难关。实在学不进去的时候就放松一下,调整...
下载一个电影,普通下载方式和utorrent方式,速度为什么差这么多?原理是什么?
举例子:需要
搞
清楚的一点是,在学校里用utorrent下载
东西
快的原因,不仅仅是bt下载方式,因为上图我也说了utorrent还是会有速度瓶颈,瓶颈发生在客户端,即下载端的带宽。所以学校之所以下载快,更重要的一个原因是...
游戏开发
8,304
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章