我需要在屏幕上显示一个精确的、非常小的时间间隔。必须使用具有固定(并且对于此任务相对较慢)刷新率的显示器,这将是限制因素 - 我将不得不允许用户以多个“帧”(= 16, (6)ms 用于 60Hz 显示器)。
我最初考虑只使用精确计时器(基于秒表类),但问题是,没有办法(据我所知)找出实际显示了多少帧 - 所以如果我显示一些东西,比如 21 毫秒,我有实际显示 2 帧 (33,3ms) 的几率约为 25%,显示 1 帧 (16,6ms) 的几率约为 75%,具体取决于刷新 16,6ms 间隔如何与我的21ms 间隔。
我知道这可能可以通过 directX/opengl/etc 中的 Vsync 来完成,但如果可能的话,我想使用简单的 Windows 表单。那么,有没有办法找出从一段时间以来已经显示了多少帧,或者拦截在监视器上绘制新帧的事件,或者手动订购帧重绘或类似的东西?