游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1497|回复: 2

问一个问题,关于d3d driver和gpu

[复制链接]

5

主题

29

帖子

33

积分

注册会员

Rank: 2

积分
33
发表于 2009-12-6 04:33:00 | 显示全部楼层 |阅读模式
  当调用一个D3D API时,如果runtime要flush“command buffer”(比如command buffer满了),就会发生:

api函数阻塞,runtime把command buffer提交到driver,然后driver做一些工作,然后返回。(我不知道这样理解对不对)

问题是:driver和gpu是怎么工作的呢?是driver让gpu开始执行命令后立即返回?还是等待gpu工作完后返回呢?
另外:present()是不是必须等待前一帧gpu命令执行完呢?

希望有人来解答,谢谢。

14

主题

156

帖子

158

积分

注册会员

Rank: 2

积分
158
QQ
发表于 2009-12-7 13:27:00 | 显示全部楼层

Re: 问一个问题,关于d3d driver和gpu

zmcdn: 问一个问题,关于d3d driver和gpu

  当调用一个D3D API时,如果runtime要flush“command buffer”(比如command buffer满了),就会发生:

...


你的理解是对的

然后,APP通过D3D RUNTIME,D3D RUNTIME 通过 COMMAND BUFFER,BUFFER满了,就切换到RING0与DRIVER交互,然后,DRVIER和 GPU 是异步的,不需要GPU真的全绘制好才返回

PRESENT只是FLUSH COMMAND BUFFER还是等待,得看你创建D3D DEVICE事的PRESENT标志...

个人理解,不一定对,望高手出招指点.呵呵

5

主题

29

帖子

33

积分

注册会员

Rank: 2

积分
33
 楼主| 发表于 2009-12-7 23:27:00 | 显示全部楼层

Re:问一个问题,关于d3d driver和gpu

谢谢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-17 17:39

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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