游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7886|回复: 10

关于d3d的Present函数的疑问,谢谢

[复制链接]

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
发表于 2006-12-10 21:24:00 | 显示全部楼层 |阅读模式
假设我这么做
1:SetRenderTarget,设置我自己需要的Render Target
2:BeginScene()
3:RenderMyMagicScene()
4:EndScene()
//
5:再切换render target,读取刚才渲染的结果,对结果进行分析,采样,做一些自己的操作。。。
6:正常渲染场景
7:Present()。。。。。。

//My Question is:
不是说CPU和GPU是异步执行的,第3步的渲染无非是将指令递交到dx的driver层中,真正啥子时候执行看运气?,那么当我渲染我的特殊场景后,立刻运行到第5步,读取渲染结果,是否会正确呢。。。。

谢谢,任何建议,提示,url,都欢迎。。。。。

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-10 21:25:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

http://www.easylib.org/question/game/3146.html

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-10 21:42:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

http://www.gamedev.net/community/forums/topic.asp?topic_id=345252

http://www.gamedev.net/community/forums/topic.asp?topic_id=387436

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-10 21:43:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

http://clb.demon.fi/files/ordering.png

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-10 21:46:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

dx的sdk这么解释
To enable maximal parallelism between the CPU and the graphics accelerator, it is advantageous to call EndScene as far ahead of calling present as possible.

21

主题

109

帖子

127

积分

注册会员

Rank: 2

积分
127
发表于 2006-12-10 23:46:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

他说的很有道理。把Present()放在BeginScene()前面的话,应该是距离EndScene()最远的一个方案了。

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
发表于 2006-12-11 10:55:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

阿,原来还这样的讲究,受益了,哈哈

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-11 10:57:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

按sdk的解释就是EndScene和Present越远越好。

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-12-11 11:48:00 | 显示全部楼层

Re:关于d3d的Present函数的疑问,谢谢

这点不用担心,在读取 RT 时 driver 会等待上一次渲染操作完成才会返回。

8

主题

98

帖子

102

积分

注册会员

Rank: 2

积分
102
 楼主| 发表于 2006-12-11 16:05:00 | 显示全部楼层

Re: Re:关于d3d的Present函数的疑问,谢谢

congy: Re:关于d3d的Present函数的疑问,谢谢

这点不用担心,在读取 RT 时 driver 会等待上一次渲染操作完成才会返回。


--请问哪里有相关的描述,或者文档介绍,一直没找到根据,只是实际确实是这样的。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 02:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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