![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
...
¿Qué se puede encontrar a ojo en una tabla de 1000 filas desplazándose? ¿Qué problema se resuelve?
P.D. Offtopic de nuevo...
Andrew, la tarea consistía en permitir al usuario crear cualquier tabla. Como en Sharp. Nunca se sabe lo que puede tener en mente...)).
Sugiero que terminemos el offtopic)).
Para ser justos, sólo puedes redibujar la parte visible de la tabla, y sólo redibujar la parte invisible en un evento de desplazamiento. Pero, de nuevo, esto fue una prueba de estrés.
Todo depende de cómo cambien exactamente los valores de la tabla. Si los valores cambian muy rápida y constantemente, entonces es mejor redibujar sólo el área visible, y redibujar la invisible durante el desplazamiento. Si los valores cambian con poca frecuencia, es mejor redibujarlos todos a la vez, para que en el momento de iniciar el desplazamiento no haya retraso debido al redibujado. Como nunca se sabe con exactitud la frecuencia con la que cambiarán los valores de la tabla, he optado por un método universal: redibujarlos todos a la vez. No se ven demasiadas tablas con valores saltando como locos, así que es mejor redibujarlas todas a la vez. Por lo tanto, es mejor redibujar todo el lienzo a la vez y evitar el retraso al principio del desplazamiento.
SZY. ¿Has visto lo que se tarda en redibujar un lienzo de 900*7000 píxeles? Incluso con MT5, este retraso puede alcanzar cientos de milisegundos. Es muy desagradable obtener ese retraso cuando se empieza a desplazar. Por lo tanto, si la frecuencia de redibujado es baja, es mejor dibujar todo de una vez.
Volviendo al tema - ¡esta es una de las razones de la necesidad de multihilo en MT5!)
Una última cosa. Para evitar el problema de la sobrecarga del procesador cuando se redibujan con demasiada frecuencia las tablas grandes, he optado por otra vía. Hice un regulador especial para ajustar la velocidad de cambio de valores. Es decir, los valores cambian rápidamente, pero el usuario regula la velocidad de su salida (redibujado) con el deslizador (lo mostré). De este modo, la carga del procesador se reduce en ocasiones y el usuario percibe más cómodamente la información de la tabla.
Andrei, la tarea era permitir al usuario crear cualquier tabla. Como en Sharp. Nunca se sabe lo que se le va a meter en la cabeza...))
Sugiero terminar el offtopic)).
Para ser justos, sólo puedes redibujar la parte visible de la tabla, puedes redibujar la parte invisible sólo en un evento de desplazamiento. Pero de nuevo, era una prueba de estrés.
SZY. Todo depende de cómo cambien exactamente los valores de la tabla. Si los valores cambian muy rápida y constantemente, entonces es mejor redibujar sólo el área visible, y redibujar la invisible durante el desplazamiento. Si los valores cambian con poca frecuencia, es mejor redibujarlos todos a la vez, para que en el momento de iniciar el desplazamiento no haya retraso debido al redibujado. Como nunca se sabe con exactitud la frecuencia con la que cambiarán los valores de la tabla, he optado por un método universal: redibujarlos todos a la vez. No se ven demasiadas tablas con valores saltando como locos, así que es mejor redibujarlas todas a la vez. Por lo tanto, es mejor redibujar todo el lienzo a la vez y evitar el retraso al principio del desplazamiento.
SZY. ¿Has visto lo que se tarda en redibujar un lienzo de 900*7000 píxeles? Incluso con MT5, este retraso puede alcanzar cientos de milisegundos. Es muy desagradable obtener ese retraso cuando se empieza a desplazar. Por lo tanto, si la frecuencia de redibujado es baja, es mejor dibujar todo de una vez.
Volviendo al tema - ¡esta es una de las razones de la necesidad del multithreading en MT5!)
Una última cosa. Para evitar el problema de la sobrecarga del procesador cuando se redibujan con demasiada frecuencia las tablas grandes, he optado por otra vía. Hice un regulador especial para ajustar la velocidad de cambio de valores. Es decir, los valores cambian rápidamente, pero el usuario regula la velocidad de su salida (redibujado) con el deslizador (lo mostré). De este modo, la carga del procesador se reduce en ocasiones y el usuario percibe más cómodamente la información de la tabla.
Peter, ¿entiendes la diferencia entre asincronía, multihilo y paralelismo?
Peter, ¿entiendes la diferencia entre asincronía, multihilo y paralelismo?
Sugiero dar un ejemplo de funcionamiento asíncrono o paralelo en el mismo hilo.
Bien, ¡dale caña!
Vale, ¡dale caña!
Bien, ¡dale caña!
¿Aplaudir con una sola mano? El zen hacia fuera no es zen :-)
Bien sabes que Peter se mantiene fuera de la caja de arena. Básicamente no puede entender los términos.
¿Qué sentido tiene hacer preguntas así? Pues que va a empezar a cotorrear como un reportero profesional
¿Aplaudir con una mano y con la otra? El zen hacia fuera no es zen :-)
Bien sabes que Peter se mantiene fuera de la caja de arena. Básicamente no puede entender los términos.
¿Qué sentido tiene hacer preguntas así? Pues que va a empezar a cotorrear como un reportero profesional
Bueno, chicos, es lógica elemental. Pues bien, ¿cómo puede un hilo hacer algo asíncrono, saltando sobre una única secuencia de operaciones? La única manera es moverse en círculo y en cada iteración tomar la decisión de qué operaciones realizar y cuáles posponer. ¿Pero es una asincronía normal? No deberíamos hablar de paralelismo en absoluto. ¿Qué tipo de paralelismo podemos tener en un hilo? ))
Dos o veintidós hilos pueden ser síncronos o asíncronos. Un mismo hilo puede incluir tanto operaciones síncronas como asíncronas. Usted ha indicado cómo. El paralelo no sabe cómo incluir los paralelos.
Chicos, bueno, lógica elemental. Bien, ¿cómo hacer algo asíncrono en un hilo, saltando sobre una única secuencia de acciones? La única manera es moverse en círculo y en cada iteración tomar la decisión de qué operaciones realizar y cuáles posponer. ¿Pero es una asincronía normal? No deberíamos hablar de paralelismo en absoluto. ¿Qué tipo de paralelismo podemos tener en un hilo? ))
Una llamada asíncrona no crea necesariamente un nuevo hilo