Lona vs Rótulos - página 4

 
Maxim Kuznetsov:

Obviamente, a Tela (BitMap) é redesenhada/copiada em sua totalidade, mas apenas as etiquetas foram alteradas. Por que eu deveria ficar surpreso?

A lona é apenas conveniente e moderadamente rápida.

Dmitry Fedoseev:
E sem nenhum teste comparativo é óbvio que um simples rótulo emitirá um texto mais rápido.

É claro, eu já sabia disso antes. Mas eu estava convencido de que usar Kanvas é a maneira mais rápida de produzir. Ao mesmo tempo, foi terrivelmente lento no testador (ao emitir dados de um Expert Advisor sendo testado), especialmente em carrapatos. O uso de etiquetas fixou a situação, é claro. Então decidi descobrir quão lento o Kanvas é realmente comparado com os rótulos. Acontece que esta medição é 321 vezes mais lenta, se quisermos acreditar nesta medida.

 
Mihail Matkovskij:

Claro, eu sabia disso antes. Mas eu estava convencido de que usar Kanvas era a maneira mais rápida de produzir. No entanto, no testador (ao emitir os dados da EA em teste) ele foi terrivelmente lento, especialmente em carrapatos. O uso de etiquetas fixou a situação, é claro. Então decidi descobrir quão lento o Kanvas realmente é em comparação com os rótulos. Acontece 321 vezes, se quisermos acreditar nesta medida.

Bem, não há muitos contadores de histórias de fantasia no mundo?

 
Dmitry Fedoseev:

Não existem muitos contadores de histórias de fantasia no mundo?

Isso é certo!

 
Maxim Kuznetsov:

Obviamente, a Tela (BitMap) é redesenhada/copiada em sua totalidade, mas apenas as etiquetas foram alteradas. Por que eu deveria ficar surpreso?

A tela é simplesmente fácil de usar e moderadamente rápida.

Por que redesenhar o bitmap inteiro?
para provar que é mais lento do que redesenhar o rótulo?

Para uma comparação adequada, você também deve redesenhar apenas parte do bitmap, o tamanho do marcador.

 
Taras Slobodyanik:

Por que redesenhar o bitmap inteiro?
para provar que é mais lento do que redesenhar o rótulo?

Para uma comparação adequada, você também precisa redesenhar apenas parte do bitmap, o tamanho do rótulo.

Na verdade, é assim que ele é atualizado:

tudo de uma só vez

 
Maxim Kuznetsov:

é assim que é atualizado:

tudo de uma só vez.

ele refresca ou redesenha?
Nunca vi uma desaceleração ao refrescar.

 
Taras Slobodyanik:

Então está sendo atualizado ou redesenhado?
Nunca vi nenhum atraso na atualização.

Se você nunca viu freios ao trabalhar com OBJ_BITMAP_LABEL, é importante dizer onde. Se ao trabalhar no terminal, sim. O atraso é insignificante. Mas se você pegar o trabalho no testador e também no Modelo: Todos os carrapatos ou OHLC na M1, a constante passagem da matriz m_pixels usando ResourceCreate é muito notável. As operações Pixel são geralmente consideradas como as mais caras em qualquer programa.

 
Maxim Kuznetsov:

é assim que é atualizado:

tudo de uma só vez

Eh, eu me lembro que você poderia editar a tela no buffer de vídeo com um pixel, mas isso é tão desinteressante(

 
Dmitry Fedoseev:

Não há muitos contadores de histórias de fantasia no mundo, não é mesmo?

Dmitry, antes de julgar algo, você tem que entender onde tudo começou...

Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais

Erros, bugs, perguntas

Mihail Matkovskij, 2021.03.07 14:02

Comente linhas de saída de comprimento completamente diferente (visualmente) enquanto seu comprimento é exatamente o mesmo

Comentário

Código:

void OnStart() {
  string str[5], res="";
  StringInit(str[0], 50, 'a');
  StringInit(str[1], 50, 'X');
  StringInit(str[2], 50, '=');
  StringInit(str[3], 50, ' ');
  StringInit(str[4], 50, ':');
  for (int i = 0; i < 5; i++) 
    res += str[i] + "\n";
  Comment(res);
}

Como posso emitir linhas comComentário, que visualmente eram do mesmo comprimento? Por exemplo, quero produzir uma tabela que tenha três colunas para que as colunas fiquem igualmente espaçadas verticalmente.

Se não me engano, algures ao longo da linha dizia cinquenta filas...
 
Alexey Viktorov:

Dimitri, antes de julgar algo, você precisa entender onde tudo começou...

Se não me engano, algures ao longo da linha dizia cinquenta linhas...

Melhor fazer um exemplo onde uma tela baseada em lona supera a tela da Labels! Como, se você quiser desmentir minhas alegações, então pela lei da lógica você tem que provar o oposto. Vai funcionar...?