キャンバスとラベルの比較 - ページ 14

 
Renat Fatkhullin:

コンパイル時にストアドリソースから読み込む場合、一回で済みます。

ダイナミックなものから読みました。

 
Mihail Matkovskij:

どの入力パラメータでKanvasが遅くなるかを言う必要があります。limit_fps:falseであれば、問題ないのですが...。:)

昨日はlimit_fpsばかり探して いたのだろうか。

 
Dmitry Fedoseev:

昨日はlimit_fpsばかり探して いたのだろうか。

何を探せばいいのか?Expert Advisor を実行し、さまざまなモードで試してみてください。limit_fpsを 有効にした場合としない 場合。そうすれば、すべてが理解できるようになる。

要は、CCanvas::TextOut と CCanvas::Updateが呼び出さ れる頻度を制限することです。
 
Mihail Matkovskij:

何を探せばいいのか?Expert Advisorを起動し、様々なモードで計測してみる。limit_fpsを 有効にした場合としない 場合。そうすれば、すべてが理解できるようになる。

要は、CCanvas::TextOut と CCanvas::Update が呼び出される頻度を制限することです。

みんながみんなバカでそれでいいと思ってるのか?ただ荒唐無稽で妄想的なだけで、それが普通なのか?あったとしても、なぜ探すのか?数ページ前にあなたが自分でつけたリンクからファイルをダウンロードして、limit_fpsを設定するフィールドメソッドが ないことを確認してください。呼び出しはあるが、フィールドメソッドが ないため、コンパイルされない。しかし、1行でもコメントアウトすればコンパイルされます。しかし、私はすでにコードベース内のページを見つけ、アーカイブをダウンロードし、すべてがそこにあります。意図的に説明しているのですが、そうしないと、メソッドがないのにlimit_fpsを 有効にして、どうしてこんなテストができるんだろうと考え始めてしまうかもしれません。でも、もしかしたら、そのリンク先にはすでにそれがあって、そこでも遅れてファイルが更新されているかもしれません。

ラベルと比較する場合、同じ条件で比較しなければならないので、TextOut Updateの呼び出し頻度を 制限する意味がありません。

 
Dmitry Fedoseev:

みんなバカばかりでそれでいいと思ってるのか?ただ荒唐無稽で妄想的なだけで、それが普通なのか?あったとしても、なぜ探すのか?数ページ前にあなたが自分でつけたリンクからファイルをダウンロードして、limit_fpsを設定するフィールドメソッドが ないことを確認してください。呼び出しはあるが、フィールドメソッドが ないため、コンパイルされない。しかし、1行でもコメントアウトすればコンパイルされます。しかし、私はすでにコードベース内のページを見つけ、アーカイブをダウンロードし、すべてがそこにあります。意図的に説明しているのですが、そうしないと、メソッドがないのにlimit_fpsを 有効にしてテストするのはどうなんだろうと考え始めてしまうかもしれませんね。でも、もしかしたら、そのリンク先にはすでにそれがあって、そこでも遅れてファイルが更新されているかもしれません。

ラベルと比較する場合、同じ条件で比較する必要があるため、TextOut Updateの呼び出し頻度を 制限する意味はありません。

体験版をダウンロードしただけなので、FPSの制限をオフにすることができないまま動作しています。でも、測定には専門家が必要なんですよね~。すべてのリンク先はこちらhttps://www.mql5.com/ru/forum/364640/page13#comment_21314045 . ChartDisplay.mqhライブラリとCanvasVsLabels.mq5エキスパートをダウンロードします。

以下、スクリーンショットをご覧ください。

そして、次の メッセージを不満げに書く前に、すべてを注意深く 読んでください:)

 
グラフオブジェクトの各種プロパティの変更率が 高いときや、グラフ自体を保存しようとすると、Windowsがブルースクリーンになることがありました。
 
Mihail Matkovskij:

体験版をダウンロードしただけで、FPS制限はOFFにするオプションもなくそこそこ機能している。でも、測定には専門家が必要なのですここでは、すべてのリンクを見つけることができますhttps://www.mql5.com/ru/forum/364640/page13#comment_21314045 . ChartDisplay.mqhライブラリとCanvasVsLabels.mq5エキスパートをダウンロードします。

以下、スクリーンショットをご覧ください。

そして、次の メッセージを不満げに書く前に、すべてを注意深く 読んでください:)

以下は、ファイルをダウンロードするためのリンクを示したあなたの投稿の引用 です。そこで何を読めばいいのか、どんな選択肢があるのか。そして今、あなたはすでに自分のその投稿を編集しています。みんなそんなバカだから簡単に脳みそに糞がつくとでも思ってるのか?

それとも、私がやることがなくて、ここに座って荒唐無稽な話を作っているとでも思っているのですか?

 
Nikolai Semko:
そうなんですか?
自分へのサプライズ
同じサイズの普通のuint配列をコピーするのと比べて、どのくらい遅くなるのでしょうか?
#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.

遅れは歴然としている。そして、録画では1000FPSが天井であることがわかります。

 
fxsaber:


ブレーキが顔にかかる。はい、そして録画では1000FPSが天井であることがわかります。

何とかなるさ、変な話だけど。

 
Dmitry Fedoseev:

以下は、あなたが投稿したファイルのダウンロードリンクを引用したリンク です。そこで何を読めばいいのか、どんな選択肢があるのか。そして今、あなたはすでに自分のその投稿を編集しています。みんなそんなバカだから簡単に脳みそに糞がつくとでも思ってるのか?

それとも、私がやることがなくて、ここに座って荒唐無稽な話を作っているとでも思っているのですか?

その通り、そのリンク先には、どこからダウンロードするのか書いてあります。

Mihail Matkovskij:

Download files in \MQL5Experts/Canvas-vs-labels-Measurement/Cyberdev and \MQL5Experts/Canvas-vs-labels-Measurement (in KB).fpsを制限するには、入力パラメータでlimit_fpsをtrueに設定します。ファイル:CanvasVsLabels.mq5テストの実行方法は上記の通りです。そ して、KBに記述があります。

あれでは物足りないか!?それから、ソースコード、動かし方まで理解していなかったのですね。すでに測定して、その結果を上に公開しているにもかかわらず。さて、ソースコードはダウンロードされましたか?走らせる?そうでないなら、せめてプログラミングの基礎だけでも勉強してきてください。だって、無理なんだもん!既成のソースからアプリケーションを構築する方法さえ知らないのであれば、これ以上何を言っても......。

Expert Advisorのコンパイルファイルを添付します。それでも使いこなせない場合は、本当に使い方を勉強した方がいい。変数とは何か、関数とは何か、プログラムとは何かという基本から始めましょうそして、その先にあるのは......!?


<*.ex* ファイルを削除しました