一、vbl = Screen('Flip', windowPtr);

vbl:vertical blank(垂直空白,CRT显示器电子束扫完最后一行最右边的像素点时,会跳回到第一行最左边的像素点重新开始扫描。这个跳跃的时间段),标记了 " Flip " 动作完成的时间点。

二、ifi = Screen('GetFlipInterval', w);

monitor refresh interval (aka IFI)

同:ifi = 1.0 / Screen('NominalFramerate',screenNum) ;(好像这个更准一点,0.0167s)

二、vbl = Screen('Flip', windowPtr, vbl + 【下一次翻转间隔/秒】 - 0.5 *ifi );

“- 0.5 *ifi” 消除滞后误差

so we are asking to flip half an ifi before the next refresh. Why not just ask to flip on the next refresh, i.e. vbl + ifi? Because that sum is a floating-point calculation and may contain small rounding errors. Screen('Flip') can only swap the screen buffers on the next monitor refresh, so what happens if the error in that sum slightly overshoots? Then you've just asked for a flip time slightly beyond the monitor refresh you actually wanted, and PTB has to wait almost an entire ifi to actually flip**.

So we ask for a flip time some amount (less than ifi) before the desired monitor refresh - ifi/2 is reasonable. We're really saying "do the next flip ASAP after vbl+ifi/2", knowing both that Screen('Flip') can't actually do it prior to the refresh, and safe in the knowledge that we have ifi/2 leeway to absorb minor inaccuracies in the timing calculation.

The arithmetic of waitframes is left as an exercise for the reader.

*assuming PTB is set up correctly to play nice with your hardware - pay attention to those warning messages!

**Even worse, this might not show up in PTB's errors e.g. the dropped frame count, because PTB has achieved what you asked it: flipped the buffers on the next monitor refresh from your specified time. In that case the only way you'd know your experiment was lagging and presenting mis-timed stimuli would be if you happened to spot it during runtime!

【matlab - Explaning a line in code from PsychToolBox tutorial - Stack Overflow】

matlab PTB 学习笔记03——精确时间控制相关推荐

  1. 道格拉斯算法 matlab,OpenCV 学习笔记03 凸包convexHull、道格拉斯-普克算法Douglas-Peucker algorithm、approxPloyDP 函数...

    凸形状内部的任意两点的连线都应该在形状里面. 1 道格拉斯-普克算法 Douglas-Peucker algorithm 这个算法在其他文章中讲述的非常详细,此处就详细撰述. 下图是引用维基百科的.ε ...

  2. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  3. 系统辨识理论及MATLAB仿真——学习笔记(1)

    系统辨识理论及MATLAB仿真学习笔记(1) 前言 目录 第1章 绪论 1.1 建立数学模型的基本方法 1.2 系统辨识的定义 1.3 系统辨识的研究目的 1.4 数学模型的分类 1.5 几种常见的数 ...

  4. ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数

    ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数 前言,继续上一篇的内容.因为上一篇刚好实验了iic和spi,形成一对.接下来讲pwm另起一篇. 目录 ESP32 单片机 ...

  5. 天池龙珠训练营-机器学习学习笔记-03 LightGBM 分类

    天池龙珠训练营-机器学习学习笔记-03 LightGBM 分类 本学习笔记为阿里云天池龙珠计划机器学习训练营的学习内容,学习链接为:训练营 一 原理简介: 它是一款基于GBDT(梯度提升决策树)算法的 ...

  6. HTML/CSS学习笔记03【CSS概述、CSS选择器、CSS属性、CSS案例-注册页面】

    w3cschool菜鸟教程.CHM(腾讯微云):https://share.weiyun.com/c1FaX6ZD HTML/CSS学习笔记01[概念介绍.基本标签.表单标签][day01] HTML ...

  7. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  8. JavaScript学习笔记03【基础——对象(RegExp、Global)】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  9. 点亮LED-STM32电控学习笔记03

    Robocon战队电控学习笔记03 day3:2022/9/21 [基本界面/结构] 在学习开始之前肯定要先了解我们开发的是个什么东西,每个部位是啥功能,这里我放几张官方(fuza)的图片 图一:C板 ...

  10. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

最新文章

  1. 密度聚类算法DBSCAN实战及可视化分析
  2. 视频智能去水印:从数学建模到工程实现
  3. 【转载】单片机的背后
  4. Apache VFS:基本介绍
  5. sql注入基于错误-单引号-字符型
  6. Android P (2)---Android 9.0 “Pistachio Ice Cream”新功能和特性
  7. jquery插件整理篇(六)HTML编辑器插件
  8. 退出android app时界面残留影响,【Android】App 或 Activity 销毁重建的状态恢复对回调带来的影响...
  9. Java基础篇:简单介绍一下final
  10. java 上下文缓存_记一次JAVA 线上故障排查完整套路。
  11. Vue 引入 zepto
  12. 英伟达显卡算力榜(nvidia GPU compute capability)
  13. Unity编辑器(Editor)的问题全解以及使用
  14. ObjectARX反应器概述
  15. DevOps落地实践:BAT系列:敏捷看板:iCafe vs Tapd
  16. 计算机基础学习记录4-2
  17. java分布式实现图片上传到图片服务器
  18. 关于爬虫304的解决
  19. 【礼堂椅安装】礼堂椅影院椅组装步骤方法
  20. SYN010型铷原子钟(全国产)

热门文章

  1. idea 下载vue 插件
  2. 用python画猫和老鼠_一个Python游戏:猫和老鼠
  3. mysql基础入门之cmd登录等简单操作
  4. 四、快速搭建一套现代化的个人独立博客系统,给爱写博客的你(part2 正文)
  5. mtk6737m的lk中lcm流程
  6. 关于Python爬虫常见的面试题
  7. linux删除文件子最后两行,关于linux:如何使用sed删除文件的最后n行
  8. 主流浏览器发展史及其内核初探
  9. 深度学习之ISAR超分辨率成像
  10. AI穿墙而过?MIT最新研究发现AI能跟踪行动轨迹