比較対象がVisualiserで、Terminalでないのが理解できないのですが?
コードについては調べていません。そのようなタスクのために、Kanvasは「50ライン」を1つにしています。
ターミナルでは、Usage-bibbleを通して測定しました。各方式とも大きな差はありません。
比較対象がVisualiserで、Terminalでないのが理解できないのですが?
なぜなら、Visualiserでは、Canvasの速度が遅いことが問題になっているからです。そして、その正体を見破ることができる。このような表示は、CPU時間の50%以上を消費することは前述したとおりですまた、Terminalでは、すべてを見るためにループでメソッドを呼び出さなければなりません。でも、そんなの気にしない。オフライン最適化でExpert Advisorをループで動かしていますが、実は、このような高速更新の表示が必要なのです。でも、まだプロジェクトが 完成していないので、今はお見せすることができないんです。
コードについては調べていません。そのようなタスクのために、Kanvasは「50ライン」を1つにしています。
では、ご覧ください。そこにあるのはこれだけ!?
本当は私のことをこき使いたいんでしょう?

そういうことをしたいんだろうなと思いました。そして、やっぱりこういうのを作ってくるんですね。
。
比較試験の準備の仕方がわからない。
なぜなら、Visualiserでは、Canvasの速度が遅いことが問題になって いるのです。そして、どれがそうなのかがわかる。このような表示は、CPU時間の50%以上を消費することは前述したとおりですまた、Terminalでは、すべてを見るためにループでメソッドを呼び出さなければなりません。でも、そんなの気にしない。オフライン最適化でExpert Advisorをループで動かしていますが、実は、このような高速更新の表示が必要なのです。ただ、今はまだプロジェクトが 完成していないので、発表できる状態にはありません。
では、見てみましょう。そこにあるのはこれだけ!?
まあ...ビジュアライザーにしか書けないなら、こういうゲームは一人でやってください。どんなグラフィックでも、ポジションの開閉 マークでもレンダリングが遅くなるという話を聞いたことがないですか?いいえ。
邪魔にならないようにする...文字ごとに別々のラベルを作る...また、別のリソースを作る...。
誤解を招きそうなので私の鼻をこじ開けたいんでしょう? やっぱり、そういうことをしたいんでしょうね。やっぱり、こういうのやりたいんだね
比較試験の準備の仕方がわからない。
あなたの投稿から理解できたのは、「妄想」「笑」「テストの準備の仕方がわからない」という言葉だけでした。本当に、この話題とどう関係するのか理解できない...。あとは、「まったく」という言葉から理解できない!このスレッドを作ったとき、私はここで建設的な批判を 見たかったのです、理解できない主張の数々を見たかったのではありませんだから、わざわざ自分の言葉を説明する。そうでなければ、ここで無意味なことを書くな!」と。
まあ...ビジュアライザーにしか書けないなら、こういうゲームは一人でやってください。どんなグラフィックも、たとえ位置の開閉 マークであっても、ビジュアライザーの速度を低下させるということを聞いたことがないのでしょうか?いいえ。
邪魔にならないようにする...文字ごとに別々のラベルを作る...また、別のリソースを作る...。
急ぎお知らせします、アレクセイ。もちろん、あなたもニコライと同じように空想しがちですが......。でも、実際は想像と違うんですよね。単純に、課題によって必要なソリューションが異なるということです。あなたとニコライは、何か本質的な コメントをすることができますか!
あなたの投稿から理解できたのは、「妄想」「笑」「テストの準備の仕方がわからない」という言葉だけでした。本当に、この話題とどう関係するのか理解できない...。あとは、「まったく」という言葉から理解できない!このスレッドを作ったとき、私はここで建設的な批判を 見たかったのです、理解できない主張の数々を見たかったのではありませんだから、わざわざ自分の言葉を説明する。そうでなければ、ここに無意味なことを書くな!」と。
理解できない。最初の画像は、キャンバスがあり、そこに文字が書かれています。
その後の画像には、グラフィックに同様のテキストはありません。
つまり、当時は何が比較されていたのか?
どうぞ。でも、まずコードをきちんと 理解すること。コードは複雑なものだから、明確な主張が 必要なんだ!

- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
ここでは、さまざまな方法で作成したチャートにテキストを表示する際の表示速度を比較したものを紹介したいと思います。最初の表示はCCanvasクラスを使って、2番目の表示はラベル(CChartObjectLabel)を使って作りました。すべてのクラスは標準ライブラリから取得した。このアイデアは、CCanvas で表示を作成したところ、Expert Advisor の 動作が著しく遅くなったときに思いつきました。同時に、一部のプログラマは、私が間違っていると主張し、CCanvas、より正確に言えば、OBJ_BITMAP_LABEL は非常に高速で、MetaTrader で利用できるチャートに情報を表示するすべての方法より高速 です。そこで、実験的に確認することにしました。そこで、正念場。
CCanvasでの 出力による表示操作
現時点でのCPU負荷
CChartObjectLabel 出力による表示操作。
速度最適化モードを有効にしたCChartObjectLabelでの動作(以下でお伝え します)。
さて、次は時間的な価値です。Totalは、テストExpert Advisorの総実行時間です。Min delay、Mid delay、Max delayは、ティック単位の遅延時間です。しかし、コードを確認したところ、エラーはなかったものの、必ずしも正しく取得できるわけではありません。テスターのGetTickCount64という関数が関係しているのだと思います。しかし、それは些細な問題です。主なものは、合計時間が表示されることです。
ここで、ラベルの表示の最適化について簡単にお話しします。テキストを画面に表示するためには、上から50個という数で並べられたラベルの中の特別な配列から線を表示する必要があるということです。しかし、最後の行だけを更新する場合は、すべてのラベルを更新する必要はなく、この行に対応する1つのラベルだけを更新すれば十分である。optimizeUpdateモードをONにすると、2倍以上のパフォーマンス向上が得られます。
今回のテスト期間では、スピードの関係上、ラベルへの表示では小さすぎるので、もう少し詳しくテストすることにしました。そのため、テスト期間を長くしました。そして、次のような結果を得ました。
optimizeUpdate なし:false
optimizeUpdate: trueの場合
すべての結果をExcelに追加しました
最初のヒストグラムは全体の比較を示し、2番目のヒストグラムはラベルを持つバリアントのみを示しています。
結論:CChartObjectLabel で作成した表示は、CCanvas で作成した同等の表示よりも 83.7 倍高速になる可能性があります。画素の演算は、すべてのプログラムの中で最もコストがかかると言われているのは、決して無駄ではありません
テスト結果の表を添付します。ソースコードはKB: https://www.mql5.com/ru/code/33898からダウンロード できます。