对图表上的单个文本标签和位图进行性能测试 - 页 3

 
Renat:

发布了一个更新的测试。现在它显示了所使用的分辨率,并提示了如何测试。

嗯,这几乎是我们正在做的事情。
 
sergeev:


一般来说,所有的测试都表明,位图在某种程度上更慢。

+ 我对必须阅读标记坐标的正确性有疑问。为什么要检查输送机?

实际上,测试表明它并不慢。至少在现代CPU上不是这样。

这是我在i7-3770S、Windows 8 x64、16内存、NVIDIA GeForce GT 640M上的结果。

2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     Тестирование завершено
2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     5. Время обновления текста и позиций у битмапа без прозрачности = 15007 ms
2013.04.27 22:21:35     BenchmarkLabel (EURUSD,M15)     4. Время обновления текста и позиций у битмапа с прозрачностью = 15257 ms
2013.04.27 22:21:20     BenchmarkLabel (EURUSD,M15)     3. Время обновления текста и позиций у меток со чтением = 16739 ms
2013.04.27 22:21:03     BenchmarkLabel (EURUSD,M15)     2. Время обновления текста и позиций у меток без чтения = 18845 ms
2013.04.27 22:20:44     BenchmarkLabel (EURUSD,M15)     1. Время обновления текста у меток без чтения = 21497 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     0. Время разогрева динамических очередей без визуализации = 124 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Разрешение чарта: 1020 x 761 пикселей

位图在所有透明的情况下有15,257ms,而标签则有21,497ms。

管道检查很重要,因为现实世界的工作经常涉及到在改变对象参数之前读取它们。而且,对象中的读/写混合越频繁,对象修改的速度就越慢。修改对象的最佳策略是先批量读取,然后批量写入,避免混合。特别是如果你在图表上有成千上万的对象。


测试的最重要的结果是,在位图中没有多倍、十倍或五十倍的滞后。即使像上面的测量结果可能有滞后性(但对工作图的大小和配置有疑问),它们也在十几个百分点之内。

但是,在所有这些方面,位图在速度上有一个巨大的视角,有更多的对象,提高了渲染质量(包括透明度),并且能够渲染你想要的东西。

 

你可以更快速地设置它。

1.缩小图表窗口,使创建的画布覆盖其~100%的面积。

2.设置一个单色的图表颜色方案(通过属性->颜色->颜色方案)/。

3.将图表缩小到最小(蜡烛的最大尺寸)。

但是。正如你所看到的,虽然基准的绝对数字会降低,但其相对值将是+/-相同的。

 

请注意计算机的某些组件是如何导致混合对象处理的性能下降3倍的(sanyooooook测试)。

:

最有可能的是,CPU(锁杀了它?)和内存都有问题。有意思的是,要知道使用的是哪种处理器。

也可能是在进行这项测试时,电脑受到了压力,或者屏幕被抽动了。

 
sergeev:

但我想用位图来画图。因为没有选择:)还有多对象表格。

位图和物体一样有很多优点。

我同意。每个组件都对其用途有好处。位图是不可缺少的,例如,用于绘制界面元素。嗯,没有其他选择。

但用标签来输出统计数字会更快/更有效。:)

 
voix_kas:

但是。正如你所看到的,尽管绝对的基准数字会更低,但它们的相对值将是+/-相同的。

我特意规定了输入条件,这样就不会出现随机误差,而且大家都能理解清洁测量的要求。

你在其中一个测试中出现的2355ms的结果是由于在测试中隐藏/隐藏/滑动/切换终端窗口造成的。

2013.04.27 20:09:37     BenchmarkObjects (EURUSD,M5)    5. Время обновления текста и позиций у битмапа без прозрачности = 12558 ms
2013.04.27 20:09:24     BenchmarkObjects (EURUSD,M5)    4. Время обновления текста и позиций у битмапа с прозрачностью = 12839 ms
2013.04.27 20:09:11     BenchmarkObjects (EURUSD,M5)    3. Время обновления текста и позиций у меток с чтением = 2355 ms
2013.04.27 20:09:09     BenchmarkObjects (EURUSD,M5)    2. Время обновления текста и позиций у меток без чтения = 10655 ms
2013.04.27 20:08:58     BenchmarkObjects (EURUSD,M5)    1. Время обновления текста у меток без чтения = 10359 ms
2013.04.27 20:08:48     BenchmarkObjects (EURUSD,M5)    0. Время разогрева динамических очередей без визуализации = 124 ms
 
你会感到惊讶,但这个测试(#3)对我不起作用。我写信给SD(#732578)。更确切地说,它在十几个案例中只有一个通过。日志中没有通知或错误。在这个测试的过程中,终端只是挂起。
 
papaklass:

我的桌面测试

是的,雷纳特,你选择了一个多么好的决议。我花了一段时间才找到1920 x 1080之后屏幕上的所有东西。我现在在我的笔记本电脑上运行它。

谢谢你的结果。位图的速度也越来越快。

 
voix_kas:
你可能会感到惊讶,但这个测试(#3)对我不起作用。我写信给SD(#732578)。更确切地说,它在十几个案例中只有一个通过。日志中没有通知或错误。在通过这个测试时,终端只是挂起了一阵子。
谢谢你,让我们研究一下。
 
Renat:

请注意计算机的某些组件是如何导致混合对象处理的性能下降3倍的(sanyooooook测试)。

:

最有可能的是CPU(锁杀了它?)和内存的问题。有意思的是,要知道使用的是哪种处理器。

也可能是在进行这项测试时,电脑受到了压力,或者屏幕被抽动了。

在第一次测试中,我切换了窗口,在第二次测试中,我根本没有碰任何东西,同时MT4在其中运行,一个脚本正在运行图表和其他一些可能加载计算机的进程。)