游戏开发论坛

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

DX在窗体模式下的翻转

[复制链接]

3

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2003-10-9 09:19:00 | 显示全部楼层 |阅读模式
在DirectX7 sdk的switcher例子里面,演示了如何在全屏和窗口状态下的切。
里面有这样一段:
                    // If we are in windowed mode, perform a blt.
                    if (g_bWindowed)
                    {
                        hRet = g_pDDSPrimary->Blt(&g_rcScreen, g_pDDSBack,
                                                  &g_rcViewport, DDBLT_WAIT,
                                                  NULL);
                    }
                    else
                    {
                        // Else we are in fullscreen mode, so perform a flip.
                        hRet = g_pDDSPrimary->Flip( NULL, 0L );
                    }
由于在窗体模式下是用Blt复制到主表面的,所以在窗体模式下运行得很慢,而在全屏模式下用的Flip在主表面和缓冲之间切换,效率就很高了。
我想问在窗体模式下有更好的解决方法吗?

3

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
 楼主| 发表于 2003-10-9 11:11:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

这个问题我想不会太难吧,请各位不吝请教了。我在线等一上午了。 [em7]

3

主题

86

帖子

94

积分

注册会员

Rank: 2

积分
94
QQ
发表于 2003-10-9 11:42:00 | 显示全部楼层

Re: DX在窗体模式下的翻转

窗口模式一般将离屏表面和后台缓冲建在系统内存里面
翻转的时候blt一下就好了,这个是比较通用的方法

3

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
 楼主| 发表于 2003-10-9 15:30:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

相比起来,在窗体模式下Blt还是在全屏模式下Flip快呢?
好像在窗体模式下的资料要少一些。

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2003-10-9 15:46:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

Flip只能在全屏下使用。所以…… 窗口下Blt已经算最快了。

3

主题

20

帖子

20

积分

注册会员

Rank: 2

积分
20
 楼主| 发表于 2003-10-9 15:53:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

那在窗口下Blt可以达到多少呢?一般的显卡70可以吗?

3

主题

86

帖子

94

积分

注册会员

Rank: 2

积分
94
QQ
发表于 2003-10-9 19:54:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

不同的cpu/显卡/窗口大小/图形复杂程度对fps都有很大的影响,
光blt一个背景,fps应该在200以上吧

25

主题

234

帖子

262

积分

中级会员

Rank: 3Rank: 3

积分
262
发表于 2003-10-10 10:43:00 | 显示全部楼层

Re:DX在窗体模式下的翻转

我以前用 VB 的时候有一篇资料上面提到 Flip 只能用于全屏模式,窗体模式下用 blt 才能达到最好效果,不过现在不知道有什么更好的办法,学习中……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-22 22:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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