A9VG电玩部落论坛

 找回密码
 注册
搜索
楼主: o_sharp

[硬件周边] 主机游戏技术普及。第一期完结

[复制链接]

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 21:30  ·  浙江 | 显示全部楼层
hahahehehoho 发表于 2013-8-12 21:28
呵呵,是吧,我就是喜欢玩游戏,正好有O兄这种热心肠给讲技术,爱屋及乌也想学学,看来您也很有基础,我就 ...

只是多少有点,如果是我能力范围的我会回答

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 21:31  ·  浙江 | 显示全部楼层
本帖最后由 kdzx1121 于 2013-8-12 21:32 编辑
gzfrozen 发表于 2013-8-12 21:25
其实我觉得你们完全可以等lz今天把相关内容更新了以后再讨论,而用不着提前猜。。。

作为学生是足以感 ...


猜也是一种乐趣啊,而且lz讲课的东西相对来说比较浅显一点,要深挖的话就必须多提问了

精华
0
帖子
40
威望
0 点
积分
40 点
种子
0 点
注册时间
2011-5-22
最后登录
2016-3-26
发表于 2013-8-12 21:35  ·  广东 来自手机 | 显示全部楼层
纯外行问个问题,一帧画面在Front-buffer里的时间是不是只能像等差数列一样离散的,而不能是任意的时长呢?是的话为什么会这样?不是的话为什么Double buffering+垂直同步时显卡即使只慢了一点帧数也是对半降?

精华
0
帖子
1147
威望
0 点
积分
1134 点
种子
5 点
注册时间
2006-11-22
最后登录
2023-3-25
发表于 2013-8-12 21:38  ·  河北 | 显示全部楼层
kdzx1121 发表于 2013-8-12 21:30
只是多少有点,如果是我能力范围的我会回答

就是这句:说回三重缓冲和双重缓冲+垂直同步。
在绘制时间稍比一帧长的时候(这种情况占大多数),即使为了这多出来的一小会时间,后者还是要等上一帧,就造成了60fps为了这一点点机能不足瞬间降至30fps。

  我觉得,双重缓冲+垂直同步,应该是说显卡等后置缓冲绘制好了在与前置缓冲进行交换是吧,  比如说绘制时间比一针长,是1.2针, 我觉得显示下一幅画面应该是多等上0.2针的时间啊,怎么会是要等一针的时间呢

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 21:49  ·  浙江 | 显示全部楼层
hahahehehoho 发表于 2013-8-12 21:38
就是这句:说回三重缓冲和双重缓冲+垂直同步。
在绘制时间稍比一帧长的时候(这种情况占大多数),即使为 ...

这是因为显示器的刷新率是固定的,一般的显示器刷新率是60F每秒,也就是我们说的60hz,若是你的显示器支持120hz的,就算开垂直同步也能到120f,当然前提是性能够,而60hz的显示器,等于是说一帧要花60分之1秒的时间,这个时间间隔是固定的,每个60分之1秒显示器会从渲染好的缓冲里提取一帧来显示,如果你缓冲还没准备好,那么就跳过这一次,得再等60分之1秒才能到下一次。所以每次都是等1帧的时间,而不会出现0.2帧情况

精华
0
帖子
1147
威望
0 点
积分
1134 点
种子
5 点
注册时间
2006-11-22
最后登录
2023-3-25
发表于 2013-8-12 21:52  ·  河北 | 显示全部楼层
kdzx1121 发表于 2013-8-12 21:49
这是因为显示器的刷新率是固定的,一般的显示器刷新率是60F每秒,也就是我们说的60hz,若是你的显示器支持 ...

这我就明白了,非常感谢,没有基础就是费劲啊,呵呵

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 22:07  ·  浙江 | 显示全部楼层
ghbzcy 发表于 2013-8-12 21:30
确实,这样说下去没章法,感觉一时半会说不明白。

至于提前预渲染那个,我们说的意思是一样的,只不过 ...

为什么你觉得你们说的意思是一样?
“渲染延迟至cpu发送draw call的N帧之后”的意思是指 “cpu发送draw call的N帧之前是不进行显卡渲染的”, 这里的显卡人工造成了待机状况。
“cpu不等gpu渲染完就去算下一帧” 的意思是“显卡渲染当前帧的时候cpu同时开始渲染下一帧“,这里的显卡和cpu一直在同时运作,当然你显卡超额完成任务的话依旧会出现待机情况。

精华
0
帖子
1654
威望
0 点
积分
1969 点
种子
5 点
注册时间
2004-11-12
最后登录
2016-5-25
发表于 2013-8-12 22:16  ·  日本 | 显示全部楼层
kdzx1121 发表于 2013-8-12 23:07
为什么你觉得你们说的意思是一样?
“渲染延迟至cpu发送draw call的N帧之后”的意思是指 “cpu发送draw  ...

我说的不准确,只是说了一个过程中的状态。
总之是要表达一种"积攒了n帧的cpu计算结果待gpu渲染"的情况。
这种情况带来n帧的迟延。

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 22:16  ·  浙江 | 显示全部楼层
pmhgms 发表于 2013-8-12 21:35
纯外行问个问题,一帧画面在Front-buffer里的时间是不是只能像等差数列一样离散的,而不能是任意的时长呢? ...

你的第一个问题可以看805楼。
第二个问题,不是的话为什么Double buffering+垂直同步时显卡即使只慢了一点帧数也是对半降?   ————没这回事,Double buffering+垂直同步依旧会有50帧,40帧的情况。

精华
0
帖子
194
威望
0 点
积分
211 点
种子
5 点
注册时间
2009-12-29
最后登录
2024-6-6
发表于 2013-8-12 22:18  ·  浙江 | 显示全部楼层
ghbzcy 发表于 2013-8-12 22:16
我说的不准确,只是说了一个过程中的状态。
总之是要表达一种"积攒了n帧的cpu计算结果待gpu渲染"的情况 ...

你说的挺准确的啊,你的描述并没有问题,所以我才说你的说法是对的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-11-27 08:15 , Processed in 0.240935 second(s), 20 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部