Lona vs Rótulos - página 10

 
Dmitry Fedoseev:
Mesmo uma comparação puramente idiota de apenas uma chamada para TextOut() é 70 vezes mais lenta do que a saída de texto para uma etiqueta.

Você simplesmente não percebe que a taxa na qual uma etiqueta é atualizada não pode ser medida corretamente. O texto da etiqueta é simplesmente passado para a tabela para processamento, este é um procedimento rápido. Mas é impossível saber quanto é processado ali, pois o gráfico funciona em um fio completamente diferente, em paralelo com a aplicação principal. Leia o link que eu dei, assim como os posts abaixo, tudo está descrito em detalhes lá. Não vale a pena recontar tudo de novo.

 
Mihail Matkovskij:

Você simplesmente não percebe que a taxa na qual uma etiqueta é atualizada não pode ser medida corretamente. O texto da etiqueta é simplesmente passado para a tabela para processamento, este é um procedimento rápido. Mas é impossível saber quanto é processado ali, pois o gráfico funciona em um fio completamente diferente, em paralelo com a aplicação principal. Leia o link que eu dei, assim como os posts abaixo, tudo está descrito em detalhes lá. Não vale a pena recontar tudo de novo.

É melhor você ler minha segunda frase nesse link.

 
Dmitry Fedoseev:

É melhor você ler a segunda frase nesse meu link.

Eu peguei. Basta tomá-la e medi-la. E o que o levou ao resultado, você não está interessado...? :)

 
Mihail Matkovskij:

Eu entendo. Apenas tomando e medindo. E o que o levou ao resultado que obteve, você não está interessado...? :)

Só estou interessado no resultado que eu posso ter. Os outros resultados não têm utilidade para mim.

 
Dmitry Fedoseev:

Só estou interessado nos resultados que posso ter. Os outros resultados não têm utilidade para mim.

Estou vendo. Então sugiro que você meça a velocidade do código fonte, que estará pronto em breve. Você ficará surpreso com o resultado.

 

quando se trata deDmitry Fedoseev

outra pessoa virá e Dmitry o convencerá )))) o círculo do senso comum na natureza)

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

quando se trata deDmitry Fedoseev

Alguém mais virá e Dmitry o convencerá ))))

Convencê-lo do quê? Que a Terra é plana? Ou que o Sol gira em torno da Terra?

 
Dmitry Fedoseev:

Convencer-nos do quê? Que a Terra é plana? Ou que o Sol gira em torno da Terra?

Sim, eu o entendo, o principal é colocar em fila e depois deixar o código ser executado sem esperar. Mas às vezes é crítico se você tiver que fazer muito isso. E eu acho que podemos reescrever o código para que ele não espere.

 
Aleksey Mavrin:

quando se trata deDmitry Fedoseev

outra pessoa virá e já será convencido por Dmitry )))) O círculo do bom senso na natureza).

É que eu nunca pensei antes porque os rótulos são mais rápidos que o Kanvas, se tudo é usado como está. Mas quando você sabe o que está "debaixo do gorro", você já começa a pensar de forma mais construtiva. Obviamente, há duas razões pelas quais as etiquetas podem vencer em velocidade.

  1. Fluxo separado
  2. Otimização da freqüência de atualização dos gráficos (para não sobrecarregar desnecessariamente o processador)
Uma conclusão lógica simples segue então que as atualizações do BitmatLabel também devem ser otimizadas ou limitadas. Para etiquetas, as atualizações são otimizadas no gráfico. Ao menos otimizá-los ainda mais também não estaria fora do lugar. ParaBitmatLabel o programador, poroutro lado, é responsável. Não há nada de complicado nisso. Se estivesse escrito na documentação, por exemplo, eu já teria sabido disso antes.
 
Mihail Matkovskij:

Eu simplesmente nunca pensei sobre o porquê dos Rótulos serem mais rápidos que a Tela, se tudo é usado como está. Mas quando você sabe o que está "debaixo do capô", você começa a pensar de forma mais construtiva. Obviamente, há duas razões pelas quais as etiquetas podem vencer em velocidade.

  1. Fluxo separado
  2. Otimização da freqüência de atualização dos gráficos (para não sobrecarregar desnecessariamente o processador)
Uma conclusão lógica simples segue então que as atualizações do BitmatLabel também devem ser otimizadas ou limitadas. Para etiquetas, as atualizações são otimizadas no gráfico. Ao menos otimizá-los ainda mais também não estaria fora do lugar. ParaBitmatLabel, o programador, poroutro lado, é responsável. Não há nada de complicado nisso. Se estivesse escrito na documentação, por exemplo, eu teria sabido disso antes.

Eu entendo. Se eu uso qualquer biblioteca, eu tento entender seus internos primeiro, isto me ajuda a tomar uma decisão caso o uso não seja razoável e evitar cenários "embaraçosos" quando algo dá errado.