Pruebas de rendimiento de etiquetas de texto individuales y mapas de bits en un gráfico - página 3

 
Renat:

Publicó una prueba actualizada. Ahora muestra la resolución utilizada y con una pista sobre cómo probar.

Bueno, eso es más o menos lo que estamos haciendo.
 
sergeev:


En general, todas las pruebas muestran que los mapas de bits son algo más lentos.

+ Tengo mis dudas sobre la corrección de tener que leer la coordenada del marcador. ¿por qué comprobar el transportador?

En realidad, las pruebas demuestran que no es más lento. Al menos no en las CPUs modernas.

Aquí está mi resultado en i7-3770S, Windows 8 x64, 16 RAM, 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 пикселей

El mapa de bits tiene 15.257ms con todas las transparencias frente a los 21.497ms de las etiquetas.

Las comprobaciones de la tubería son importantes porque el trabajo en el mundo real a menudo implica leer los parámetros de los objetos antes de cambiarlos. Y cuanto más a menudo haya mezcla de lectura/escritura en los objetos, más lenta será la modificación de los mismos. La mejor estrategia para modificar objetos es leer primero en bloque y luego escribir en bloque, evitando mezclar. Especialmente si tiene miles de objetos en el gráfico.


El resultado más importante de la prueba es que no hay un desfase múltiple, de diez o de cincuenta veces en los mapas de bits. Incluso si puede haber un desfase como en las mediciones anteriores (pero hay dudas sobre el tamaño y la configuración del cuadro de trabajo), están dentro de una docena de porcentajes.

Pero con todo eso un mapa de bits tiene una enorme perspectiva de velocidad con más objetos, mayor calidad de renderizado (incluyendo transparencia) y la capacidad de renderizar lo que quieras.

 

Puedes configurarlo aún más rápido:

1. Reduzca la ventana del gráfico para que el lienzo creado cubra el 100 % de la misma.

2. Establezca una combinación de colores de la carta monocromática (a través de propiedades -> colores -> combinación de colores)/.

3. Reduzca la escala del gráfico al mínimo (velas al tamaño máximo).

Pero. Como puede ver, aunque las cifras absolutas del punto de referencia serán más bajas, sus valores relativos serán +/- los mismos.

 

Obsérvese cómo algún componente del ordenador hizo que el rendimiento del manejo de objetos mixtos se redujera en un factor de 3(prueba sanyooooook):

:

Lo más probable es que la culpa sea de la CPU (¿los bloqueos la mataron?) y de la memoria. Es interesante saber qué procesador se utilizó.

O tal vez el ordenador estaba estresado o la pantalla daba tirones en el momento de esta prueba.

 
sergeev:

Pero yo dibujaría los gráficos con un mapa de bits. pues no hay opciones :) también las tablas multiobjeto.

Un mapa de bits tiene tantas ventajas como los objetos.

Estoy de acuerdo. Cada componente es bueno para su propósito. Los mapas de bits son indispensables, por ejemplo, para dibujar elementos de la interfaz. Bueno, no hay otras opciones.

Pero es más rápido/eficiente imprimir las estadísticas con etiquetas. :)

 
voix_kas:

Pero. Como puede ver, aunque las cifras absolutas de los puntos de referencia serán más bajas, sus valores relativos serán +/- los mismos.

He especificado a propósito las condiciones de entrada, para que no haya errores aleatorios y todo el mundo entienda los requisitos de una medición limpia.

Tu resultado con 2355ms en una de las pruebas fue causado por ocultar/ocultar/deslizar/conmutar la ventana del terminal durante la prueba:

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
 
Puede que te sorprenda, pero esta prueba (#3) no me funciona. He escrito al SD(#732578). Más concretamente, se aprueba en un caso de cada doce. No hay notificaciones ni errores en el registro. El terminal se queda colgado mientras dura esta prueba.
 
papaklass:

Mi prueba de escritorio

Sí, Renat, qué resolución has elegido. Me llevó un tiempo encontrar todo en la pantalla después de 1920 x 1080. Ahora lo ejecutaré en mi portátil.

Gracias por los resultados. Los mapas de bits también son cada vez más rápidos.

 
voix_kas:
Puede que te sorprenda, pero esta prueba (#3) no me funciona. He escrito al SD(#732578). Más concretamente, se aprueba en un caso de cada doce. No hay notificaciones ni errores en el registro. El terminal se cuelga durante un tiempo mientras pasa esta prueba.
Gracias, vamos a investigarlo.
 
Renat:

Obsérvese cómo algún componente del ordenador hizo que el rendimiento del manejo de objetos mixtos se redujera en un factor de 3(prueba sanyooooook):

:

Lo más probable es que la culpa sea de la CPU (¿los bloqueos la mataron?) y de la memoria. Es interesante saber qué procesador se utilizó.

O tal vez el ordenador estaba estresado o la pantalla estaba siendo sacudida en el momento de esta prueba.

Durante la primera prueba, cambié la ventana, durante la segunda no toqué nada en absoluto, al mismo tiempo MT4 se ejecuta en él un script está ejecutando gráfico y algunos otros procesos que pueden cargar el equipo )