Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
...
O que pode ser encontrado a olho nu em uma tabela de 1000 fileiras por rolagem? Qual problema está sendo resolvido?
P.S. Offtopic novamente...
Andrew, a tarefa era permitir que o usuário criasse qualquer mesa. Como em Sharp. Nunca se sabe o que ele pode ter em mente...)).
Sugiro que terminemos o offtopic)).
Para ser justo, você só pode redesenhar a parte visível da mesa, e só pode redesenhar a parte invisível em um evento com scroll. Mas novamente, este foi um teste de estresse.
Tudo depende de como exatamente os valores na tabela estão mudando. Se os valores mudam muito rápida e constantemente, então é melhor redesenhar apenas a área visível, e redesenhar o invisível durante a rolagem. Se os valores estão mudando com pouca freqüência, é melhor redesenhar tudo de uma só vez, de modo que no momento do início da rolagem não haja atraso por causa do redesenho. Como você nunca sabe exatamente com que freqüência os valores na tabela mudarão, escolhi um método universal - redesenhar tudo de uma só vez. Você não vê muitas mesas com valores pulando como loucos, então é melhor redesenhá-las todas de uma só vez. Portanto, é melhor redesenhar toda a tela de uma vez e contornar o atraso no início da rolagem.
SZY. Você viu quanto tempo leva para redesenhar uma tela de 900*7000 pixels? Mesmo com o MT5, este atraso pode chegar a centenas de milissegundos. É muito desagradável obter tal atraso quando se começa a rolagem. Portanto, se a freqüência do redesenho for baixa, é melhor desenhar tudo de uma só vez.
Voltando ao tema - esta é uma das razões para a necessidade de multithreading no MT5!)
Uma última coisa. A fim de evitar problemas com a sobrecarga do processador quando muitas vezes redesenho mesas grandes, escolhi outro caminho. Eu fiz um regulador especial para ajustar a velocidade de mudança de valores. Ou seja, os valores mudam rapidamente, mas o usuário regula a velocidade de sua saída (redesenho) com o controle deslizante (eu o mostrei). Assim, a carga sobre o processador é reduzida às vezes e o usuário é mais conveniente para perceber as informações da tabela.
Andrei, a tarefa era permitir que o usuário criasse qualquer mesa. Assim como em Sharp. Nunca se sabe o que lhe vai na cabeça...))
Eu sugiro terminar o tópico)).
Para ser justo, você pode redesenhar apenas a parte visível da mesa, você pode redesenhar a parte invisível apenas em um evento com scroll. Mas novamente, foi um teste de estresse.
SZY. Tudo depende de como exatamente os valores na tabela mudam. Se os valores mudam muito rápida e constantemente, então é melhor redesenhar apenas a área visível, e redesenhar o invisível durante a rolagem. Se os valores estão mudando com pouca freqüência, é melhor redesenhar tudo de uma só vez, de modo que no momento do início da rolagem não haja atraso por causa do redesenho. Como você nunca sabe exatamente com que freqüência os valores na tabela mudarão, escolhi um método universal - redesenhar tudo de uma só vez. Você não vê muitas mesas com valores pulando como loucos, então é melhor redesenhá-las todas de uma só vez. Portanto, é melhor redesenhar toda a tela de uma vez e contornar o atraso no início da rolagem.
SZY. Você viu quanto tempo leva para redesenhar uma tela de 900*7000 pixels? Mesmo com o MT5, este atraso pode chegar a centenas de milissegundos. É muito desagradável obter tal atraso quando se começa a rolagem. Portanto, se a freqüência do redesenho for baixa, é melhor desenhar tudo de uma só vez.
Voltando ao tema - esta é uma das razões da necessidade de multithreading no MT5!)
Uma última coisa. A fim de evitar problemas com a sobrecarga do processador quando muitas vezes redesenho mesas grandes, escolhi outro caminho. Eu fiz um regulador especial para ajustar a velocidade de mudança de valores. Ou seja, os valores mudam rapidamente, mas o usuário regula a velocidade de sua saída (redesenho) com o controle deslizante (eu o mostrei). Assim, a carga sobre o processador é reduzida às vezes e o usuário é mais conveniente para perceber as informações da tabela.
Peter, você entende a diferença entre assíncronia, multithreading e paralelismo?
Peter, você entende a diferença entre assíncronia, multithreading e paralelismo?
Sugiro dar um exemplo de operação assíncrona ou paralela na mesma linha.
OK, vamos a isso!
OK, vamos a isso!
OK, vamos a isso!
Palmas com uma mão? Zen para fora não é Zen :-)
Bem, você sabe que Peter fica fora da caixa de areia. Ele basicamente não consegue entender os termos.
de que adianta fazer perguntas como essa? bem, ele vai começar a tagarelar como um repórter profissional
Palmas com uma mão? Zen para o exterior não é zen :-)
Bem, você sabe que Peter fica fora da caixa de areia. Ele basicamente não consegue entender os termos.
de que adianta fazer perguntas como essa? bem, ele vai começar a tagarelar como um repórter profissional
Bem, pessoal, é uma lógica elementar. Bem, como se pode fazer algo assíncrono, pulando sobre uma única seqüência de operações? A única maneira é mover-se em círculo e a cada iteração tomar uma decisão, quais as operações a serem realizadas e quais as que devem ser adiadas. Mas será assíncrono normal? Não devemos de forma alguma falar de paralelismo. Que tipo de paralelismo podemos ter em um só fio? ))
Dois, ou vinte e dois fios podem ser síncronos ou assíncronos. Uma única linha pode incluir tanto operações síncronas quanto assíncronas. Você indicou como. O Paralelo não sabe como incluir os paralelos.
Rapazes, bem, lógica elementar. Bem, como fazer algo assíncrono em um único fio, pulando sobre uma única seqüência de ações? A única maneira é mover-se em círculo e a cada iteração tomar uma decisão sobre quais operações realizar e quais adiar. Mas será assíncrono normal? Não devemos de forma alguma falar de paralelismo. Que tipo de paralelismo podemos ter em um só fio? ))
Uma chamada assíncrona não cria necessariamente um novo fio