Lona vs Rótulos - página 14

 
Renat Fatkhullin:

Se você ler de um recurso armazenado em tempo de compilação, você tem que fazê-lo uma vez.

Eu li de um dinâmico.

 
Mihail Matkovskij:

Você tem que dizer em quais parâmetros de entrada Kanvas é lento. Se limite_fps: falso, então é um não-cérebro... :)

Eu só estava procurando porlimite_fps ontem?

 
Dmitry Fedoseev:

Eu só estava procurando porlimite_fps ontem?

O que há para procurar? Execute o Expert Advisor e experimente-o em diferentes modos. Comou sem limite_fps habilitado.E então você vai entender tudo.

O objetivo é limitar com que freqüência CCanvas::TextOut e CCanvas::Update são chamados de CCanvas.
 
Mihail Matkovskij:

O que há para procurar? Execute o Expert Advisor e tente tomar medidas em diferentes modos. Comou sem limite_fps habilitado.E então você vai entender tudo.

O objetivo é limitar com que freqüência CCanvas::TextOut e CCanvas::Update são chamados de CCanvas.

Você acha que todo mundo é apenas um idiota? Apenas selvagem e delirante - e isso é normal? Por que eu procuraria se houvesse um? Baixe seus arquivos daqueles links que você mesmo deu há algumas páginas atrás e veja que não há nenhum método de campo para definir limites_fps. A chamada está lá, mas o método de campo não está, portanto, não se compila. Mas se você comentar uma linha, ela se compila. Mas eu já encontrei a página na base de código e fiz o download do arquivo, tudo está lá. Estou explicando isso deliberadamente, caso contrário você pode começar a pensar como eu poderia testá-lo com limit_fps habilitado quando não há nenhum método. Mas quem sabe, talvez esses links já o tenham, talvez os arquivos também sejam atualizados com atraso,

Não faz sentido limitar afreqüência das chamadas deTextOut Update ao comparar com o rótulo, pois a comparação deve ser feita sob as mesmas condições.

 
Dmitry Fedoseev:

Você acha que todos são tão idiotas e ponto final? Apenas selvagem e delirante - e isso é normal? Por que eu estaria procurando se existisse um? Baixe seus arquivos daqueles links que você mesmo deu há algumas páginas atrás e veja que não há nenhum método de campo para definir limites_fps. A chamada está lá, mas o método de campo não está, portanto, não se compila. Mas se você comentar uma linha, ela se compila. Mas eu já encontrei a página na base de código e fiz o download do arquivo, tudo está lá. Estou explicando deliberadamente, caso contrário você pode começar a pensar como eu poderia testar desta forma com o limit_fps habilitado quando não há nenhum método. Mas quem sabe, talvez esses links já o tenham, talvez os arquivos também sejam atualizados com atraso,

Não há sentido em limitar afreqüência das chamadas deTextOut Update ao comparar com o rótulo, pois a comparação deve ser feita sob as mesmas condições.

Você acabou de baixar uma versão demo, lá a limitação do FPS funciona sem possibilidade de desligá-la. Mas você precisa de um especialista para fazer as medições! Você pode encontrar todos os links aqui https://www.mql5.com/ru/forum/364640/page13#comment_21314045 . Download ChartDisplay.mqh library e CanvasVLabels.mq5 expert.

Aqui está uma captura de tela para ajudar você

E leia tudo cuidadosamente antes de escrever sua próxima mensagem com insatisfação! :)

 
Em altas taxas de mudança nas diversas propriedades dos objetos gráficos e ao tentar salvar o próprio gráfico, o Windows vomitaria uma tela azul.
 
Mihail Matkovskij:

Você acabou de baixar a versão demo, o limite FPS funciona lá sem a opção de desligá-lo. Mas você precisa de um especialista para tomar medidas! Aqui você pode encontrar todos os links https://www.mql5.com/ru/forum/364640/page13#comment_21314045 . Download ChartDisplay.mqh library e CanvasVLabels.mq5 expert.

Aqui está uma captura de tela para ajudar você

E leia tudo cuidadosamente antes de escrever sua próxima mensagem com insatisfação! :)

Aqui está um link com uma citação de seu post onde você deu links para download de arquivos. O que eu deveria ler lá e que escolha eu tinha? E agora você já editou esse seu post. Você realmente acha que todos são tão idiotas e que é tão fácil para eles cagar em seus cérebros?

Ou você acha que eu não tenho nada melhor para fazer e estou aqui sentado inventando histórias selvagens?

 
Nikolai Semko:
Sério?
Uma surpresa para mim.
Quanto mais lento do que copiar uma matriz uint normal do mesmo tamanho?
#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279

void OnStart()
{
  uint Data[];
  
  ArrayResize(Data, 1 e6);

  const string Name = "::" + __FILE__;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceCreate(Name, Data, ArraySize(Data), 1, 0, 0, ArraySize(Data), COLOR_FORMAT_ARGB_NORMALIZE), 100);
    
  uint Width;
  uint Height;
  
  for (int i = 0; i < 10; i++)
    _B(ResourceReadImage(Name, Data, Width, Height), 1);
  
  ResourceFree(Name);
}


Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1973 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 891 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1226 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 1232 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 940 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 924 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 917 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 925 mcs.
Alert: Bench_Stack = 0, 100 <= Time[Test9.mq5 557 in OnStart: ResourceCreate(Name,Data,ArraySize(Data),1,0,0,ArraySize(Data),COLOR_FORMAT_ARGB_NORMALIZE)] = 932 mcs.

Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2575 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2442 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 7473 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2308 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2955 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2883 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2715 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2842 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2755 mcs.
Alert: Bench_Stack = 0, 1 <= Time[Test9.mq5 563 in OnStart: ResourceReadImage(Name,Data,Width,Height)] = 2304 mcs.

Os atrasos são óbvios. E a gravação mostra que 1000 FPS é o teto.

 
fxsaber:


Os freios estão no seu rosto. Sim e a gravação mostra que 1000 FPS é o teto.

Nós vamos descobrir, é estranho.

 
Dmitry Fedoseev:

Aqui está um link com uma citação de seu post no qual você deu links para download de arquivos. O que eu deveria ler lá e que escolha eu tinha? E agora você já editou esse seu post. Você realmente acha que todos são tão idiotas e que é tão fácil para eles cagar em seus cérebros?

Ou você acha que eu não tenho nada melhor para fazer e estou aqui sentado inventando histórias selvagens?

Exatamente, nesse link eu escrevi de onde baixar.

Mihail Matkovskij:

Download de arquivos em MQL5, em KB, para a medição de rótulos em tela-vs e em MQL5, para a medição de rótulos em tela-vs. Para limitar fps, defina limite_fps para true nos parâmetros de entrada. arquivo: CanvasVLabels.mq5. Como executar o teste é mostrado acima. E há uma descrição em KB.

Isso não foi suficiente para você! Então você não entendeu o código fonte, nem mesmo como executá-lo. Embora eu já os tenha medido e publicado os resultados acima. Agora, você fez o download do código fonte? Executá-lo? Se não, então vá e estude pelo menos o básico da programação. Porque é impossível! Se você nem sabe como construir uma aplicação a partir de fontes prontas, o que mais podemos dizer...

Estou anexando o arquivo compilado do Expert Advisor. Se você ainda tiver problemas para usá-lo, você realmente deve aprender a usá-lo. Comece pelo básico: o que é uma variável, o que é uma função, e o que é um programa! E depois continua e continua!


<*.ex* arquivo eliminado

Razão: