错误、漏洞、问题 - 页 977 1...970971972973974975976977978979980981982983984...3184 新评论 --- 2013.04.27 14:14 #9761 Renat: 没有调用GDI方法。 我是说TextOut,它不是系统吗?我理解这个标签,我没有以任何方式将它与GDI联系起来。 Renat Fatkhullin 2013.04.27 15:01 #9762 voix_kas:所有(一半)标签中的文字变化旨在显示指标的值,而不是其描述。你可以在运行脚本时看到这一点。要么我不理解你。我们到底是在谈论哪条线?对不起,我用手机看错地方了,犯了个错误。我将在接下来的几个小时内进行自己的测试,并公布源代码和详细结果。 Renat Fatkhullin 2013.04.27 15:10 #9763 sergeev:我是说TextOut,它不是系统吗?我理解这个标签,我没有以任何方式把它与GDI联系起来。我以为GDI是关于标签的。修改标签参数只不过是把命令流大规模地塞进一个专门的队列,而没有把这些数据真正附加到真正的对象上(对象属于图表,而不是MQL5),直到对象数据被渲染或读回。也就是说,对象的真正修改被推迟了。我们特意应用了这样的优化,以使开发者能够在没有减速的情况下操作数以万计的对象。也就是说,在修改对象时,实际的执行被推迟了,这给人一种速度的感觉。好了,而整个绘图的负担是由应用程序的界面(图形)线程来承担的。而在渲染时,优化和切断可见度限制的方法也在起作用,这使得每张图表可以正常处理300 000-500 000个对象。但在处理位图时,整个工作在MQL5中一次性完成,没有任何延迟,但之后在渲染时就会立即完成。而对于一定数量的对象,位图的总 "修改+渲染 "时间可能会更快。特别是考虑到位图在两次调用之间被保存,你只能只完成你需要的部分的绘制,而不是重建整个画布。我将进行详细的测试并发布结果,显示对象和位图在不同模式下的表现。 Renat Fatkhullin 2013.04.27 17:11 #9764 在另一个主题中发布了结果:图表上单个文本标签和位图的性能测试作者在他的位图处理脚本中存在一个严重的错误--实际上他使用了两个位图而不是一个,并不断地将它们相互复制,这降低了性能。 [删除] 2013.04.27 18:38 #9765 Renat:在另一个主题中发布了测试结果:图表上单个文本标签和位图的性能测试作者在使用位图时,他的脚本有一个严重的缺陷--实际上他使用了两个位图,而不是一个位图,并不断地将它们相互复制,这降低了性能。那么,加快实际产出的方式是一种缺陷?:)我已经在前面描述过引入模板画布和工作画布的目的。 Snaf 2013.04.27 18:41 #9766 让我们长命百岁。MQL5手册中说,数据时间类型https://www.mql5.com/ru/docs/basis/types/integer/datetime。 "1970年1月1日至3000年12月31日的数值范围。"实际上,32535244799的最大值是3001.01.01 07:59:59 Документация по MQL5: Основы языка / Типы данных / Целые типы / Тип datetime www.mql5.com Основы языка / Типы данных / Целые типы / Тип datetime - Документация по MQL5 Renat Fatkhullin 2013.04.27 18:50 #9767 该测试是基于性能的,所以它不应该被额外的操作所堵塞。 [删除] 2013.04.27 22:04 #9768 为了提高编程的纯洁性,我想向公众询问这方面的情况。假设有一个全局声明的标志(bool Flag)。当某些事件/条件发生时,它必须被设置为某个值。第一个变体。if (некое условие) { Flag = false; }第二个选择。if (некое условие) { if (Flag) Flag = false; }哪个选项。1.在性能上更快?2.如果我可以这么说,"更专业"?我们假设这部分代码会经常被控制,比如说每一次嘀嗒声。 Renat Fatkhullin 2013.04.27 22:13 #9769 voix_kas:为了提高编程的纯洁性,我想向公众询问这方面的情况。假设有一个全局声明的标志(bool Flag)。当某些事件/条件发生时,其值必须被设置。 当然,第一种变体的速度更快。更少的指令,少了一个比较/分支。 [删除] 2013.04.27 22:28 #9770 Renat: 当然,第一个选项更快。更少的指令,而且少了一个比较/分支。 谢谢你。 1...970971972973974975976977978979980981982983984...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有调用GDI方法。
我是说TextOut,它不是系统吗?
我理解这个标签,我没有以任何方式将它与GDI联系起来。
所有(一半)标签中的文字变化旨在显示指标的值,而不是其描述。你可以在运行脚本时看到这一点。
要么我不理解你。我们到底是在谈论哪条线?
对不起,我用手机看错地方了,犯了个错误。
我将在接下来的几个小时内进行自己的测试,并公布源代码和详细结果。
我是说TextOut,它不是系统吗?
我理解这个标签,我没有以任何方式把它与GDI联系起来。
我以为GDI是关于标签的。
修改标签参数只不过是把命令流大规模地塞进一个专门的队列,而没有把这些数据真正附加到真正的对象上(对象属于图表,而不是MQL5),直到对象数据被渲染或读回。也就是说,对象的真正修改被推迟了。我们特意应用了这样的优化,以使开发者能够在没有减速的情况下操作数以万计的对象。
也就是说,在修改对象时,实际的执行被推迟了,这给人一种速度的感觉。好了,而整个绘图的负担是由应用程序的界面(图形)线程来承担的。而在渲染时,优化和切断可见度限制的方法也在起作用,这使得每张图表可以正常处理300 000-500 000个对象。
但在处理位图时,整个工作在MQL5中一次性完成,没有任何延迟,但之后在渲染时就会立即完成。而对于一定数量的对象,位图的总 "修改+渲染 "时间可能会更快。特别是考虑到位图在两次调用之间被保存,你只能只完成你需要的部分的绘制,而不是重建整个画布。
我将进行详细的测试并发布结果,显示对象和位图在不同模式下的表现。
在另一个主题中发布了结果:图表上单个文本标签和位图的性能测试
作者在他的位图处理脚本中存在一个严重的错误--实际上他使用了两个位图而不是一个,并不断地将它们相互复制,这降低了性能。
在另一个主题中发布了测试结果:图表上单个文本标签和位图的性能测试
作者在使用位图时,他的脚本有一个严重的缺陷--实际上他使用了两个位图,而不是一个位图,并不断地将它们相互复制,这降低了性能。
那么,加快实际产出的方式是一种缺陷?:)
我已经在前面描述过引入模板画布和工作画布的目的。
让我们长命百岁。
MQL5手册中说,数据时间类型https://www.mql5.com/ru/docs/basis/types/integer/datetime。
"1970年1月1日至3000年12月31日的数值范围。"
实际上,32535244799的最大值是3001.01.01 07:59:59
为了提高编程的纯洁性,我想向公众询问这方面的情况。
假设有一个全局声明的标志(bool Flag)。当某些事件/条件发生时,它必须被设置为某个值。
第一个变体。
第二个选择。
哪个选项。
1.在性能上更快?
2.如果我可以这么说,"更专业"?
我们假设这部分代码会经常被控制,比如说每一次嘀嗒声。
为了提高编程的纯洁性,我想向公众询问这方面的情况。
假设有一个全局声明的标志(bool Flag)。当某些事件/条件发生时,其值必须被设置。
当然,第一个选项更快。更少的指令,而且少了一个比较/分支。