我如何创建一个函数来处理每个毫秒? - 页 3 12345678910...19 新评论 Alexey Volchanskiy 2018.09.13 01:20 #21 Dmitry Fedoseev:事实上,模拟CRT电视使用隔行扫描,但只是因为在那些日子里,他们无法在给定的带宽内做出完整的帧,产生偶数,然后是奇数,而且由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我还做过不少修理电视的偷工减料工作 )) Yuriy Vins 2018.09.13 03:22 #22 Alexey Volchanskiy:事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我在修理电视时曾做过不少黑活 )) 我不知道应该有多少个框架。我没有读过任何这样的书。但最主要的是,我现在已经做到了,而且运作良好。当然,我还没有完全想明白,但我已经有了可以坚持的东西。 Nikolai Semko 2018.09.13 03:49 #23 Nikolay Demko:ChartRedraw函数 的代价是40毫秒,所以在16之后更新计时器是没有意义的。 40毫秒对应于每秒25帧,相当于人类的感知速度。嗯,不,尼古拉,当然比这少。在我的电脑上,使用COLOR_FORMAT_ARGB_NORMALIZE时不到2毫秒,使用COLOR_FORMAT_XRGB_NOALPHA时则不到1毫秒。 你可以从所附的样本脚本(TestSpeedCanv.ex5)中看到,30毫秒的帧延迟(32帧)对你的眼睛来说是绝对足够的。顺便说一下,所有视频都是以这个速度拍摄的。当需要慢动作播放时,会使用较高的帧率。 附加的文件: Screenshot_101.png 246 kb Screenshot_103.png 222 kb TestSpeedCanv.ex5 44 kb Nikolai Semko 2018.09.13 04:45 #24 Реter Konow:定时器功能的最大频率为15-16毫秒。是的,它是。(仅仅不是频率,而是周期。 最大频率=64赫兹) 只是要补充说明一下。 计时器的周期步骤=15.625毫秒。 即用EventSetMillisecondTimer(1)命令和EventSetMillisecondTimer(10)命令,实际周期为15.625ms。 使用EventSetMillisecondTimer(21)命令时,实际周期为31.25ms,使用EventSetMillisecondTimer(30)命令时,实际周期为31.25ms。 通过EventSetMillisecondTimer(95)命令和EventSetMillisecondTimer(105)命令,实际周期为109.375 ms。 等。 附加的文件: Test_PeriodTimer.mq5 4 kb Natalja Romancheva 2018.09.13 05:10 #25 Alexey Volchanskiy:事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我还做过不少修理电视的偷工减料工作 )) 是的,625线和所有这些。第一批自制游戏(不是电脑游戏--组装在单个芯片上)通常使用312行。小时候玩过:曲棍球、网球......。 Dmitry Fedoseev 2018.09.13 06:01 #26 Alexey Volchanskiy:事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅看书,而且作为一个学生,我曾经在电视维修方面做了相当好的转变)。那么?你不是被教导说,在视频中,每秒24帧就足以产生自然的均匀 运动效果吗?而闪烁的问题是显示器(电视)的问题。 Taras Slobodyanik 2018.09.13 10:33 #27 Dmitry Fedoseev:那么?你不是被告知在视频中,每秒24帧就足以提供自然均匀的运动效果吗?而闪烁的问题是显示器(电视)的问题。现在连手机都有50帧的视频了) 用24帧和50帧拍摄同样的东西,快速运动,并进行比较。 ps.查理-查普林拍摄了15帧,这已经足够了) Taras Slobodyanik 2018.09.13 10:46 #28 Alexey Volchanskiy:事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我在修理电视时曾做过不少黑活 ))是的,但那些半边框是不同的,不是来自同一个框架。 也正因为如此,动作比电脑上的25 fps更流畅。 Dmitry Fedoseev 2018.09.13 10:49 #29 Taras Slobodyanik:即使是手机现在也有50帧的视频) 以24帧和50帧拍摄同样的东西,快速运动,并进行比较。 ps.查理-查普林拍摄15帧--绰绰有余)知识的深度令人惊叹!......感知的微妙!......。通常大家都会在查理-卓别林的电影中看到抽搐和不自然的动作。 Реter Konow 2018.09.13 10:50 #30 Nikolai Semko:是的,它是。(仅仅不是频率,而是周期。 最大频率=64赫兹) 只是要补充说明一下。 计时器的周期步骤=15.625毫秒。 即用EventSetMillisecondTimer(1)命令和EventSetMillisecondTimer(10)命令,实际周期为15.625ms。 使用EventSetMillisecondTimer(21)命令时,实际周期为31.25ms,使用EventSetMillisecondTimer(30)命令时,实际周期为31.25ms。 通过EventSetMillisecondTimer(95)命令和EventSetMillisecondTimer(105)命令,实际周期为109.375 ms。 等。谢谢你的更正,尼古拉。 我没有测量过这样准确的周期,但我注意到有一些周期是跳过的。该频率并不理想。特别是在小周期值的范围内(16-25ms)。因此,如果我把它设置为16毫秒,那么停顿的时间往往会是32毫秒。 在周期的频率上有一种失败。这是一种电子心律失常。 所以,我在想,如果我设置一个40毫秒的周期(这对于人类的感知来说已经足够了),而计时器跳过一些周期,会怎么样?那么我们就不会得到每秒24帧,而是18-24帧。取决于定时器会跳过多少个时段。我认为最好的选择是定时器周期为25ms。这是我最初为自己设定的目标。 12345678910...19 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
事实上,模拟CRT电视使用隔行扫描,但只是因为在那些日子里,他们无法在给定的带宽内做出完整的帧,产生偶数,然后是奇数,而且由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我还做过不少修理电视的偷工减料工作 ))
事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我在修理电视时曾做过不少黑活 ))
ChartRedraw函数 的代价是40毫秒,所以在16之后更新计时器是没有意义的。
40毫秒对应于每秒25帧,相当于人类的感知速度。
嗯,不,尼古拉,当然比这少。在我的电脑上,使用COLOR_FORMAT_ARGB_NORMALIZE时不到2毫秒,使用COLOR_FORMAT_XRGB_NOALPHA时则不到1毫秒。
你可以从所附的样本脚本(TestSpeedCanv.ex5)中看到,30毫秒的帧延迟(32帧)对你的眼睛来说是绝对足够的。顺便说一下,所有视频都是以这个速度拍摄的。当需要慢动作播放时,会使用较高的帧率。
定时器功能的最大频率为15-16毫秒。
是的,它是。(仅仅不是频率,而是周期。 最大频率=64赫兹)
只是要补充说明一下。
计时器的周期步骤=15.625毫秒。
即用EventSetMillisecondTimer(1)命令和EventSetMillisecondTimer(10)命令,实际周期为15.625ms。
使用EventSetMillisecondTimer(21)命令时,实际周期为31.25ms,使用EventSetMillisecondTimer(30)命令时,实际周期为31.25ms。
通过EventSetMillisecondTimer(95)命令和EventSetMillisecondTimer(105)命令,实际周期为109.375 ms。
等。
事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我还做过不少修理电视的偷工减料工作 ))
事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅看书,而且作为一个学生,我曾经在电视维修方面做了相当好的转变)。
那么?你不是被教导说,在视频中,每秒24帧就足以产生自然的均匀 运动效果吗?而闪烁的问题是显示器(电视)的问题。
那么?你不是被告知在视频中,每秒24帧就足以提供自然均匀的运动效果吗?而闪烁的问题是显示器(电视)的问题。
现在连手机都有50帧的视频了)
用24帧和50帧拍摄同样的东西,快速运动,并进行比较。
ps.查理-查普林拍摄了15帧,这已经足够了)
事实上,模拟CRT电视有隔行扫描,但只是因为在那些年里,他们无法在给定的带宽内制作全帧,他们先制作偶数行,然后是奇数行,由于电子管余辉,闪烁是不可见的。我不仅读过书,而且作为一个学生,我在修理电视时曾做过不少黑活 ))
是的,但那些半边框是不同的,不是来自同一个框架。
也正因为如此,动作比电脑上的25 fps更流畅。
即使是手机现在也有50帧的视频)
以24帧和50帧拍摄同样的东西,快速运动,并进行比较。
ps.查理-查普林拍摄15帧--绰绰有余)
知识的深度令人惊叹!......感知的微妙!......。通常大家都会在查理-卓别林的电影中看到抽搐和不自然的动作。
是的,它是。(仅仅不是频率,而是周期。 最大频率=64赫兹)
只是要补充说明一下。
计时器的周期步骤=15.625毫秒。
即用EventSetMillisecondTimer(1)命令和EventSetMillisecondTimer(10)命令,实际周期为15.625ms。
使用EventSetMillisecondTimer(21)命令时,实际周期为31.25ms,使用EventSetMillisecondTimer(30)命令时,实际周期为31.25ms。
通过EventSetMillisecondTimer(95)命令和EventSetMillisecondTimer(105)命令,实际周期为109.375 ms。
等。
谢谢你的更正,尼古拉。
我没有测量过这样准确的周期,但我注意到有一些周期是跳过的。该频率并不理想。特别是在小周期值的范围内(16-25ms)。因此,如果我把它设置为16毫秒,那么停顿的时间往往会是32毫秒。
在周期的频率上有一种失败。这是一种电子心律失常。
所以,我在想,如果我设置一个40毫秒的周期(这对于人类的感知来说已经足够了),而计时器跳过一些周期,会怎么样?那么我们就不会得到每秒24帧,而是18-24帧。取决于定时器会跳过多少个时段。我认为最好的选择是定时器周期为25ms。这是我最初为自己设定的目标。