社区
机器视觉
帖子详情
请教:DirectX中如何实现显示图像与显示器扫描的同步?
Dream_soft
2004-12-30 05:55:21
在国外的软件中看到,可以图像的显示与显示器的电子枪扫描同步。即在电子枪扫描到特定位置的同时,将图像数据写入到该位置,以避免在写入数据后等待电子枪扫描到该位置的随机延迟,实现高时间精度的图像呈现。请问在DirectX中如何实现该功能?
请高手不啬赐教,谢谢。
...全文
83
8
打赏
收藏
请教:DirectX中如何实现显示图像与显示器扫描的同步?
在国外的软件中看到,可以图像的显示与显示器的电子枪扫描同步。即在电子枪扫描到特定位置的同时,将图像数据写入到该位置,以避免在写入数据后等待电子枪扫描到该位置的随机延迟,实现高时间精度的图像呈现。请问在DirectX中如何实现该功能? 请高手不啬赐教,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Dream_soft
2005-01-11
打赏
举报
回复
呵呵,谢谢大家了。我把这个贴子结了,有建议的朋友请到别的相同贴子上啊,谢谢。
http://community.csdn.net/Expert/topic/3687/3687287.xml?temp=.7108728
另外说一下,Timer的计时精度号称是毫秒,其实是1/18.2秒,大约55毫秒左右,因为它用的是计算机的时钟中断。
Dream_soft
2005-01-11
打赏
举报
回复
To happy__888:
谢谢你的回复。不过不论你在显卡上刷新多少次,都要等到显示器的电子枪扫描到这个位置时才能更新,是吧?图像在这10毫秒内不论更新了多少次,显示器上都不能表现出来,对吧?它所有表现的只是最后一次更新的图像,对吧?
至于后一个问题,我并不是要在更新超过30帧。我只是要求在我发出写指令的时候,在1~2毫秒内就能出现在显示器上。这样就要求得到显示器的场同步信号,在电子枪将要到达这里的时候将内容写入显卡,这样才能避免显卡上的内容已经更新了,而显示器上的内容还在等电子枪到达更不能更新造成的随机误差。
至于说到人眼可以接受的速度,是远远超过1/30秒的,你所说30帧的只是因为似动现象而形成的将静止的画面看成运动的速度而已。
再次谢谢各位朋友参加讨论。
寻开心
2005-01-10
打赏
举报
回复
眼睛识别不了那么高的速度的, 眼睛只能识别30-60之间的图像,太快了,没有用途
显示器做不到那么高的速度, 好的显示器最高大概也就是120-150左右的刷新速度
Dream_soft
2005-01-09
打赏
举报
回复
谢谢各位朋友,不过我算过,将刷新率开到100Hz,也只能到10毫秒,10毫秒的精度对图象呈现来说也是太低了。有别的法子没有呢?
To:happy__888([顾问团]寻开心)
我要解决的不是在卡上翻转的问题,而是在显示器上的实时显示的问题。在卡上显存写一千次也要显示器的电子枪描到那里才能显示,不是吗?谢谢。
Dream_soft
2004-12-31
打赏
举报
回复
呵呵,这位朋友说的很好啊,不过我是做心理学的反应时程序,时间精度要求是毫秒级的,不知道行不行?
寻开心
2004-12-31
打赏
举报
回复
一秒钟翻转的次数可以很高,数百次到上千次都有可能的
因为翻转本身的速度极快,它的本质就是显卡当中显存页面的切换,只是一个寄存器数值的改变而已
它不是影响速度的主角
关键是你要绘制的内容的多少,以及占用的时间
这个是影响显示速度的关键
如果对于简单场景一秒钟几百次毫无问题,复杂的场景几秒钟一次都可能
zzwu
2004-12-31
打赏
举报
回复
timer的计数单位就是毫秒。
寻开心
2004-12-30
打赏
举报
回复
垂直扫描同步
dx常规的做法是多缓冲的,用户始终在后备缓冲当中绘制,然后把整个缓冲翻转到主表面上,从而使得绘制的内容在屏幕上显示出来
dx可以在createdevice的时候,指定这种翻转和垂直同步扫描的关系,保证在扫描的过程当中不更新内容,从而防治屏幕撕裂的现象。
dx处理翻转的速度很快,一次扫描周期之下,可能翻转多次,dx当中也可以限制这个扫描次数
这些控制参数都是在CreateDevice的函数当中指定
DirectX
修复工具V4.3增强版
DirectX
修复工具(
DirectX
Repair)是一款系统级工具软件,简便易用。 本程序的主要功能是检测当前系统的
DirectX
状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序
中
包含...
DirectX
修复工具 V3.3增强 绿色版
同时鉴于Windows 8(Windows 8.1、Windows 8.1 Update)、Windows 10系统
中
默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个
DirectX
_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET ...
【奇境】计算机图形学底层原理-如何从C++独立编写一个openGL
课程解决的问题: 作为游戏行业或者图形学从业者,你是否面临以下问题: 到底openGL底层如何
实现
的? 到底矩阵操作变换是怎么做到的? 到底光栅化的算法以及原理是什么? 到底如何才能从3D世界投射到2D屏幕呢? 图形...
DirectX
修复工具 V3.3标准 绿色版
同时鉴于Windows 8(Windows 8.1、Windows 8.1 Update)、Windows 10系统
中
默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个
DirectX
_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET ...
DirectX
修复工具 V3.0标准版
同时鉴于Windows 8(Windows Blue、Windows 8.1)系统
中
默认未包含.NET Framework 2.0,因此新版的程序文件夹内将包含一个
DirectX
_Repair_win8的特别版程序,该程序功能与通用版相同,基于.NET Framework 4.0开发,...
机器视觉
4,446
社区成员
15,335
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章