顺便说一下,有透明度和无透明度并没有那么大的区别。
2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) Тестирование завершено 2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) 5. Время обновления текста и позиций у битмапа без прозрачности = 13229 ms 2013.04.27 18:24:19 BenchmarkLabel__1 (USDCHF,H1) 4. Время обновления текста и позиций у битмапа c прозрачностью = 13994 ms 2013.04.27 18:24:05 BenchmarkLabel__1 (USDCHF,H1) 3. Время обновления текста и позиций у меток с чтением = 32229 ms 2013.04.27 18:23:33 BenchmarkLabel__1 (USDCHF,H1) 2. Время обновления текста и позиций у меток без чтения = 10671 ms 2013.04.27 18:23:22 BenchmarkLabel__1 (USDCHF,H1) 1. Время обновления текста у меток без чтения = 10733 ms 2013.04.27 18:23:11 BenchmarkLabel__1 (USDCHF,H1) 0. Время разогрева динамических очередей без визуализации = 187 ms
是的,这取决于视频驱动程序的效率。
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
结果似乎很奇怪。我必须看一下代码。
不过,标记的速度还是比位图快。
测试是在Windows 7 x64的64位MetaTrader 5上进行的,使用的是弱的NVIDIA GeForce GT 330M显卡。
有必要收集10个表明操作系统和显卡类型的结果。
你应该测试一个打开的图表,打开到全屏,没有指标,没有切换窗口或隐藏窗口。
由于这项任务直接依赖于渲染,因此在微不足道的窗口尺寸上进行最小化、最小化或测试是不可接受的。
在一个完全打开的窗口上再次运行测试,不要切换。
你应该测试一个打开的图表,打开到全屏,没有指标,没有切换窗口或隐藏窗口。
由于这项任务直接依赖于渲染,因此在微不足道的窗口尺寸上进行最小化、最小化或测试是不可接受的。
在一个完全打开的窗口上再次运行测试,不要切换。
测试是按照规则进行的。
2013.04.27 19:20:00 OpenCL Device #0: GPU NVIDIA Corporation GeForce GT 430 with OpenCL 1.1 (2 units, 1400 MHz, 1023 Mb, version 296.10, rating 159) 2013.04.27 19:19:58 Terminal MetaTrader 5 build 803 started (MetaQuotes Software Corp.) WinXP SP3 x86 3 Гц RAM 3 Гб 2013.04.27 19:34:53 BenchmarkLabel__1 (EURUSD,H1) Тестирование завершено 2013.04.27 19:34:53 BenchmarkLabel__1 (EURUSD,H1) 5. Время обновления текста и позиций у битмапа с прозрачностью = 38672 ms 2013.04.27 19:34:14 BenchmarkLabel__1 (EURUSD,H1) 4. Время обновления текста и позиций у битмапа с прозрачностью = 39140 ms 2013.04.27 19:33:35 BenchmarkLabel__1 (EURUSD,H1) 3. Время обновления текста и позиций у меток со чтением = 128203 ms 2013.04.27 19:31:27 BenchmarkLabel__1 (EURUSD,H1) 2. Время обновления текста и позиций у меток без чтения = 33000 ms 2013.04.27 19:30:54 BenchmarkLabel__1 (EURUSD,H1) 1. Время обновления текста у меток без чтения = 31969 ms 2013.04.27 19:30:22 BenchmarkLabel__1 (EURUSD,H1) 0. Время разогрева динамических очередей без визуализации = 281 ms 2013.04.27 19:30:21 BenchmarkLabel__1 (EURUSD,H1)
第5点应该是不透明的,忘记纠正结论了
之前的建设是794。这里有一个用803的测试。
2013.04.27 20:59:43 BenchmarkObjects (EURUSD,M1) 5. Время обновления текста и позиций у битмапа без прозрачности = 5101 ms 2013.04.27 20:59:38 BenchmarkObjects (EURUSD,M1) 4. Время обновления текста и позиций у битмапа с прозрачностью = 5195 ms 2013.04.27 20:59:33 BenchmarkObjects (EURUSD,M1) 3. Время обновления текста и позиций у меток с чтением = 4103 ms 2013.04.27 20:59:29 BenchmarkObjects (EURUSD,M1) 2. Время обновления текста и позиций у меток без чтения = 3557 ms 2013.04.27 20:59:25 BenchmarkObjects (EURUSD,M1) 1. Время обновления текста у меток без чтения = 3338 ms 2013.04.27 20:59:22 BenchmarkObjects (EURUSD,M1) 0. Время разогрева динамических очередей без визуализации = 109 ms
如果你能,请向我解释。 实用 测试2和3的含义是什么?
还有一个问题。你能简单解释一下COLOR_FORMAT_ARGB_RAW和COLOR_FORMAT_ARGB_NORMALIZE 的区别吗?
然而,每个人的结果都非常不同。我的测试是在Windows 7 x64 和NVIDIA GeForce 9600GT,MT5 build 803 上进行的。
tol64, 2013.04.27 17:26
顺便说一下,有透明度和无透明度并没有这么大的区别。
2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) Тестирование завершено 2013.04.27 18:24:32 BenchmarkLabel__1 (USDCHF,H1) 5. Время обновления текста и позиций у битмапа без прозрачности = 13229 ms 2013.04.27 18:24:19 BenchmarkLabel__1 (USDCHF,H1) 4. Время обновления текста и позиций у битмапа c прозрачностью = 13994 ms 2013.04.27 18:24:05 BenchmarkLabel__1 (USDCHF,H1) 3. Время обновления текста и позиций у меток с чтением = 32229 ms 2013.04.27 18:23:33 BenchmarkLabel__1 (USDCHF,H1) 2. Время обновления текста и позиций у меток без чтения = 10671 ms 2013.04.27 18:23:22 BenchmarkLabel__1 (USDCHF,H1) 1. Время обновления текста у меток без чтения = 10733 ms 2013.04.27 18:23:11 BenchmarkLabel__1 (USDCHF,H1) 0. Время разогрева динамических очередей без визуализации = 187 ms
难道只有我一个人在第三次测试中会出现图形冻结的情况吗?
讨论从这里开始:https://www.mql5.com/ru/forum/1111/page989#comment_480838
原来的说法是,位图比文本对象慢几倍/几十倍。 经过讨论和检查测试源,情况变得更清楚了,结果是位图显然更快。
测试是在Windows 8 x64操作系统中的64位MetaTrader 5上进行的,使用的是弱的NVIDIA GeForce GT 640M显卡。下面是在测试脚本上获得的结果(时间越短越好)。
你可以看到,用标签工作比用位图工作要慢60%左右。
下面是一个测试脚本,任何人都可以下载,自己进行测试并公布结果。