Lienzo vs. Etiquetas - página 10

 
Dmitry Fedoseev:
Incluso una comparación puramente tonta de una sola llamada a TextOut() es 70 veces más lenta que la salida de texto a una etiqueta.

Simplemente no te das cuenta de que el ritmo de actualización de una etiqueta no se puede medir correctamente. El texto de la etiqueta simplemente se pasa al gráfico para su procesamiento, este es un procedimiento rápido. Pero es imposible saber cuánto se procesa allí, porque el gráfico funciona en un hilo completamente diferente, en paralelo con la aplicación principal. Lee el enlace que he dado, así como los posts de abajo, allí se describe todo con detalle. No tiene sentido volver a contar todo de nuevo.

 
Mihail Matkovskij:

Simplemente no te das cuenta de que el ritmo de actualización de una etiqueta no se puede medir correctamente. El texto de la etiqueta simplemente se pasa al gráfico para su procesamiento, este es un procedimiento rápido. Pero es imposible saber cuánto se procesa allí, porque el gráfico funciona en un hilo completamente diferente, en paralelo con la aplicación principal. Lee el enlace que he dado, así como los posts de abajo, allí se describe todo con detalle. No tiene sentido volver a contar todo de nuevo.

Mejor lee mi segunda frase en ese enlace.

 
Dmitry Fedoseev:

Mejor lee la segunda frase de ese enlace mío.

Lo tengo. Tómalo y mídelo. ¿Y qué te llevó al resultado, no te interesa...? :)

 
Mihail Matkovskij:

Lo entiendo. Sólo tomando y midiendo. ¿Y qué te llevó al resultado que obtuviste, no te interesa...? :)

Sólo me interesa el resultado que pueda tener. Los otros resultados no me sirven.

 
Dmitry Fedoseev:

Sólo me interesan los resultados que pueda tener. Los otros resultados no me sirven.

Ya veo. Entonces le sugiero que mida la velocidad del código fuente, que estará listo pronto. Te sorprenderá el resultado.

 

cuando se trata deDmitry Fedoseev

vendrá alguien más y Dmitry le convencerá )))) el círculo del sentido común en la naturaleza)

Dmitry Fedoseev
Dmitry Fedoseev
  • 2021.02.06
  • www.mql5.com
Профиль трейдера
 
Aleksey Mavrin:

cuando se trata deDmitry Fedoseev

Alguien más vendrá y Dmitry lo convencerá ))))

¿Convencerle de qué? ¿Que la Tierra es plana? ¿O que el Sol gira alrededor de la Tierra?

 
Dmitry Fedoseev:

¿Convencernos de qué? ¿Que la Tierra es plana? ¿O que el Sol gira alrededor de la Tierra?

Sí, te entiendo, lo principal es poner una cola y luego dejar que se ejecute el código sin esperar. Pero a veces es crítico si tienes que hacerlo mucho. Y creo que podemos rediseñar el código para que no espere.

 
Aleksey Mavrin:

cuando se trata deDmitry Fedoseev

Vendrá alguien más y ya estará convencido por Dmitry )))) El círculo del sentido común en la naturaleza).

Esque nunca me había planteado por qué las Etiquetas son más rápidas que las Kanvas, si todo se usa tal cual. Pero cuando sabes lo que hay "bajo el capó", ya empiezas a pensar de forma más constructiva. Obviamente, hay dos razones por las que las etiquetas pueden ganar en velocidad.

  1. Flujo separado
  2. Optimización de la frecuencia de actualización de los gráficos (para no sobrecargar el procesador innecesariamente)
De ello se desprende una simple conclusión lógica: las actualizaciones de BitmatLabel también deben optimizarse o limitarse. Para las etiquetas, las actualizaciones se optimizan en el gráfico. Al menos, optimizarlos más tampoco estaría de más. En cambio, el responsable de BitmatLabel es el programador. No hay nada complicado en ello. Si hubiera estado escrito en la documentación, por ejemplo, lo habría sabido antes.
 
Mihail Matkovskij:

Es que no me he planteado por qué las Etiquetas son más rápidas que el Lienzo antes, si todo se usa tal cual. Pero cuando sabes lo que hay "bajo el capó", empiezas a pensar de forma más constructiva. Obviamente, hay dos razones por las que las etiquetas pueden ganar en velocidad.

  1. Flujo separado
  2. Optimización de la frecuencia de actualización de los gráficos (para no sobrecargar el procesador innecesariamente)
De ello se desprende una simple conclusión lógica: las actualizaciones de BitmatLabel también deben optimizarse o limitarse. Para las etiquetas, las actualizaciones se optimizan en el gráfico. Al menos, optimizarlos más tampoco estaría de más. En cambio, el responsable de BitmatLabel es el programador. No hay nada complicado en ello. Si estuviera escrito en la documentación, por ejemplo, lo habría sabido antes.

Lo entiendo. Si utilizo alguna librería, trato de entender primero su interior, esto me ayuda a tomar una decisión en caso de que el uso no sea razonable y evitar escenarios "incómodos" cuando algo va mal.