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

 
Andrey Khatimlianskii:

ビジュアライザーのカンヴァスのリフレッシュレートを人間的な方法で制限するには?

低速では画像がリアルタイムに更新され、高速ではテストのスピードが落ちないようにするためですか?

現在、canvas は(tick ごと に更新されると)可視化全体の速度を大幅に低下させます(プロファイリングではレンダリング時間の 80-90% を占めています)。秒単位で一時停止を設定できるように工夫したが、機能が制限され松葉づえになっている(低速でも画像の更新はほとんどない)。

頻繁に更新されないように、何にバインドすればいいのでしょうか?GetMicroseconds?

どの機能をスキップするか?

アンドレイ すでに1年以上前にここに 書きました。


ライブ映像はこちら(2つのカンヴァスだけ)。

ただ、CHARTEVENT_CHART_CHANGE イベントがテスターで動作しないことを付け加えておきます。

ということで、canvas forming blockに以下のように記述しています(iCanvas使用時)。

void BildParabolas() {
   if(Canvas.tester) ChartChanged();
   static uint lastCalc=0;
   uint cur=GetTickCount();
   if (cur-lastCalc<17) return;
...

そして、GIFにあるインジケーターのOnCalculateのコードの一部を紹介します。

static uint lastCalc=0; 
if (Canvas.tester) {
      uint cur=GetTickCount();
      if (cur-lastCalc>17) {
         lastCalc=cur;
         BildParabolas();
         menu.Draw();
      }
   }

 
Dmitry Fedoseev:
KANVASの方が圧倒的に遅いのは肉眼でも明らかです。


 
Taras Slobodyanik:

MT5のテスターでは、タイマーが機能し、60秒に設定すれば、テスターの時間で1分に1回更新される)

私が書いたポーズクラッチについてですが、合いませんね。

 
Nikolai Semko:

アンドレイ 1年以上前にここに 書いたことがあるんです。


ライブ映像はこちら(2つのカンヴァスだけ)。

最高速度は、少し遅そうですね。

ありがとうございます!GetTickCount経由でやってみます。

 
Andrey Khatimlianskii:

最高速度は少し遅いようだ。

ありがとうございます!GetTickCount経由でやってみます。

いいえ、最大値ではありません。最大値の前ではとても敏感です。
これが最大値です。

 
Andrey Khatimlianskii:

最高速度は少し遅いようだ。

ありがとうございます!GetTickCountを使ってみます。

また、チャート自体に偏りがないように、OBJ_BITMAP_LABELの 代わりにOBJ_BITMAPで実験してみるのもよいでしょう。XY座標の代わりに時間や価格にバインドするため。
みんなやってみたいけど、作れない。この場合、キャンバスをウィンドウサイズより大きくして、制御ロジックを変更する必要があります。このコードでは、垂直方向のスケールが変わらない場合、キャンバス全体を再描画する必要がなく、より小さな部分のみを再描画するため、速度面で大きな利点があると思われます。いずれにせよ、高速移動時にカンヴァスがメイングラフとアンバランスになるのが気にならなくなります。

 
Nikolai Semko:

いいえ、最大値ではありません。最大値の前ではとても敏感です。
それが最大値です。

それが「オールダニ」なのか!もしそうなら、冷静に。確認します。


ニコライ・セムコ

また、チャート自体に偏りがないように、OBJ_BITMAP_LABELの 代わりにOBJ_BITMAPで実験してみるのも良いだろう。XY座標の代わりに時間や価格にバインドすること。
みんなやってみたいけど、作れない。この場合、キャンバスをウィンドウサイズより大きくして、制御ロジックを変更する必要があります。もしかしたら、速度向上があるかもしれません。とにかく、アンバランスなキャンバスやメインチャートは、動きが速くても目が潰れることはないでしょう。

シンプルなパネルがあるのですがチャートへのリンクはありません。

 
Andrey Khatimlianskii:

通常のダッシュボードがあるチャートへのリンクはありません。

ああ、そうか、それならいいんだ。
私のhyphaにもキャンバスが1つありますが、頻繁に再描画する必要がなく、新しいバーが入る瞬間をキャッチできるため、最もリソースを消費しないパネルです。

 
Andrey Khatimlianskii:

それが「オールティック」なのか!もしそうなら、冷静に。調べてみます。

いいえ、それは3分のOHLCでした。でも、すべてのダニで確認しました。絵柄はほぼ同じです。この場合、キャンバスの再描画はティックに関係なく、実際の時間(テスターの時間ではない)にのみ関係するためです。つまり、速度が速いほどフレーム密度は低くなります。しかし、目にはその違いは見えません。

 
ああ...アニメーションのGIFは、確かに強い主張です。