标题:Direct3D 9 的最大帧率怎么只有60FPS?
只看楼主
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
结帖率:100%
 问题点数:0 回复次数:5 
Direct3D 9 的最大帧率怎么只有60FPS?
我用一个循环来不停地在窗体上绘图,发现D3D9的FPS只有60
经过调试发现Present函数很慢,而我用D3D8测试帧率则没有限制。这是怎么回事?

D3D 8.PNG (1.41 KB)


D3D 9.PNG (3.41 KB)
搜索更多相关主题的帖子: 测试 
2008-03-09 19:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
是不是9没有8好?

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-09 19:44
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
刚才查了资料,发现这点很重要:
D3DDISPLAYMODE d3ddm;
    if(FAILED(g_pD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm)))
        return S_FALSE;
...
    d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;//重要

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-09 20:34
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
就是垂直同步的问题

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-09 20:34
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
我还发现D3D 9的Sprite没有8的那么好用了,比如旋转,缩放这些,
9需要自己来变换矩阵,而8则有现成的旋转/缩放的参数来传递。

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-09 20:39
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
得分:0 
D3D 9 的Font如果用Sprite来加速的话,会与其他的Sprite的顺序搞错,
不管你是先画图片还是先画Font,这个Font总是会被图片挡住。
只有不用Sprite加速才不会出现这个问题,可这样D3D 9的字体加速就毫无意义了。

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2008-03-09 20:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-202675-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.201329 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved