因为工作涉及到了这一个问题,在这一年里也做了很多的尝试,所以在此分享一下经验,以免后来人没有资料再过多的浪费时间。

1.刺激刷新稳定性需要使用OpenGL或者Direct3D从显卡角度进行编写操作,所有定时器、线程等相关的代码,都无法满足稳定性为±2ms的刺激刷新操作(极低的频率刷新也许可以,但是时间上的稳定性再后来我就再也没有验证过。

2.低于15Hz的刺激可以通过简单调用OpenGL的API进行操作。

以下附Java以及C++的代码,均实现了15Hz以下的稳定性,但是再往上想要更高的稳定性时均失败。

Java(该方法是做一个活动时和游戏公司出来的大佬那边偶然讨论到的):

/* autogenerated by Processing revision 1281 on 2022-03-01 */
import processing.core.*;
import processing.data.*;
import processing.event.*;
import processing.opengl.*;import java.util.HashMap;
import java.util.ArrayList;
import java.io.File;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;public class sketch_220301a extends PApplet {public void setup()
{frameRate(30);/* size commented out by preprocessor */;
}
int i=0;public void draw() {background(162);noStroke();textSize(30);text("frameRate:"+ frameRate,20,40);rectMode(CENTER);rect(width/2, 100, 200, 200);rect(100, height/2, 200, 200);rect(width-100, height/2, 200, 200);rect(width/2, height-100, 200, 200);if (i!=0){fill(255, 255, 255);i=0;} else{fill(0, 0, 0);i=1;}}public void keyPressed()
{
switch(key) {case '+':frameRate(frameRate++);break;case '-':frameRate(frameRate--);break;default:break;}}public void settings() { fullScreen(); }static public void main(String[] passedArgs) {String[] appletArgs = new String[] { "sketch_220301a" };if (passedArgs != null) {PApplet.main(concat(appletArgs, passedArgs));} else {PApplet.main(appletArgs);}}
}

其稳定性测试相关情况,在15Hz下是可以接受的,15Hz以上则掉帧严重:

C++代码(此代码是从github上downLoad后经过了一些修改,因此我直接放上了该github地址):

C++版本的刺激实现

3.完成30Hz的刺激,目前除了Matlab之外我成功了两种工具,一种是Python的PsychoPy,另一种是Unity3D.这两款是我已知的可以完成30Hz稳定性测试的项目,并且已经完全实现。

(等我有时间了一定把代码放上来,现在还要提炼打包就比较麻烦)。

关于30Hz的稳定性实现并且拓展性强还是要用C++调用OpenGL的显卡语言进行操作。关于这方面我一直没时间研究(本来的方向也并非计算机图形学)。

欢迎一些同样有这问题,或者已经解决了这问题的工程师和我踊跃探讨这方面的实现方法。

完成SSVEP的刷新刺激相关的一些经历和代码相关推荐

  1. SSVEP方块闪烁刺激界面编写

    SSVEP方块闪烁刺激界面学习笔记 软件 刺激原理 刺激频率设置 初始化设置好的频率 set一个矩阵用作刺激的显示 设置方块显示 开始循环刺激显示 附lcms.m 软件 matlab + psycht ...

  2. java线程实例题_java线程相关试题实例源码代码

    java线程相关试题实例源码代码. /** * 计算输出其他线程锁计算的数据 */ class ThreadA { public static void main(String[] args) { T ...

  3. vue element table 相关页面跳转实例代码

    vue element table 相关页面跳转实例代码 <el-table-column width="100px" align="center" la ...

  4. BERT相关论文、文章和代码资源汇总

    转自:http://www.52nlp.cn/tag/transformer BERT相关论文.文章和代码资源汇总 4条回复 BERT最近太火,蹭个热点,整理一下相关的资源,包括Paper, 代码和文 ...

  5. DRAM刷新refresh相关知识归类-基础小知识(三)

    文章目录 一.背景小知识 1.1 DRAM的层次结构 1.2 刷新要求 1.3 DRAM存储芯片的读写时序 1.4 刷新方式分类 参考文献 RAM每一位数据都是通过芯片内的一个 小电容充电(或低电平) ...

  6. SpringCloud运行时刷新数据源相关配置

    序 数据库的相关配置,一般来说是不会频繁变的,特别是当数据库连接使用的是域名而不是ip地址的时候,这样即使ip地址变化了,也不影响业务系统.这里呢,我们讲一下如果真的是迫不得已的时候,有没有不重启就可 ...

  7. android中上拉下滑布局,3年以上勿进!最简单的Android自定义ListView下拉刷新与上拉加载,代码直接拿去用~...

    本文主要针对开发新手,手写实现一个最简单Android自定义listview下拉刷新和上拉加载demo. 不喜可喷,欢迎大佬留言指点. 效果图 一:编写需要在ListView中增加头加载的布局文件,与 ...

  8. 计算机组成原理相关事例,计算机组成原理(示例代码)

    计算机组成原理 计算机的五大组成部分,分别为:控制器.存储器.运算器.输入设备和输出设备.其中控制器+运算器是计算机的中央处理器(CPU),相当于人类的大脑. 一.控制器(一) 计算机的指挥系统.大脑 ...

  9. javascript的关于刷新页面给出提示框的代码

    // 页面刷新事件 ,或者关闭事件的3中方法!测试都可以! 参考官方文档: https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHa ...

最新文章

  1. html2canvas在Vue项目踩坑-生成图片偏移不完整
  2. linux平台的office文档转pdf的实例(程序员的菜)
  3. 美国通过热像无人机找到失踪老人
  4. JDK源码分析:Byte.java
  5. python terminal调试_python执行命令行调试工具pdb
  6. ROS----窃听小乌龟行动计划
  7. Qt文档阅读笔记-两视图共享模型实现冻结列效果(frozencolumn解析与实例)
  8. css①字体颜色正常显示,背景透明②字体颜色与背景均为透明的设置方法
  9. 第3关:HDFS-JAVA接口之上传文件
  10. 华为P30 Pro现身安兔兔:未开性能模式跑分超28万
  11. 寄宿于CS程序的WCF服务
  12. python中列表、元组、字符串都属于有序序列_列表、元组、字符串是Python的有序序列。...
  13. python的logo图_Turtle绘画Python-logo
  14. Cocos creator之javascript闭包
  15. 修改后的LOGO发布(确定稿)
  16. 对于XP3系统不存在写保护功能的其他办法
  17. ubuntu系统下mysql重置密码和修改密码操作
  18. linux 内核入口地址,Linux内核程序入口地址
  19. XSS进阶一 ——合天网安实验室学习笔记
  20. 【IIS问题】——默认网站localhost无法打开,错误类型404

热门文章

  1. java 分行符_java换行符有哪些
  2. 网上银行密码第四部分 个人理财风险防范11.提防网络陷阱
  3. 网络相关篇Linux一句话精彩问答--2006/09/08更新--20060908pdf版本下载
  4. bazel学习及覆盖率
  5. 企业为什么需要精益数字化?
  6. 人工智能时代的降临_0
  7. halcon 库文件使用
  8. 在 Linux 中删除目录——如何从命令行删除目录和内容
  9. Unity尝试制作王者荣耀(十六)——FightScene(一)加载模型到场景中
  10. android定制系统横评,专属定制 Win系统下的Android系统_酷比魔方 i7酷睿M_平板电脑评测-中关村在线...