チャート上の個々のテキストラベルとビットマップのパフォーマンステスト - ページ 3

 
Renat:

更新したテストを掲載しました。使用されている解像度と、テスト方法のヒントが表示されるようになりました。

まあ、だいたいそんな感じです。
 
sergeev:


一般的に、すべてのテストは、ビットマップが何らかの形で遅くなることを示しています。

+ マーカ座標を読まなければならない正しさに疑問がある。なぜコンベアをチェックするのか?

実際、テストでは遅くはなっていないんですよ。少なくとも、最近のCPUでは無理でしょう。

i7-3770S, Windows 8 x64, 16 RAM, NVIDIA GeForce GT 640M での結果です。

2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     Тестирование завершено
2013.04.27 22:21:50     BenchmarkLabel (EURUSD,M15)     5. Время обновления текста и позиций у битмапа без прозрачности = 15007 ms
2013.04.27 22:21:35     BenchmarkLabel (EURUSD,M15)     4. Время обновления текста и позиций у битмапа с прозрачностью = 15257 ms
2013.04.27 22:21:20     BenchmarkLabel (EURUSD,M15)     3. Время обновления текста и позиций у меток со чтением = 16739 ms
2013.04.27 22:21:03     BenchmarkLabel (EURUSD,M15)     2. Время обновления текста и позиций у меток без чтения = 18845 ms
2013.04.27 22:20:44     BenchmarkLabel (EURUSD,M15)     1. Время обновления текста у меток без чтения = 21497 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     0. Время разогрева динамических очередей без визуализации = 124 ms
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Для корректного теста подберите размер окна 1024 x 768 пикселей, без индикаторов, не трогайте ничего, не сворачивайте и не закрывайте окна
2013.04.27 22:20:23     BenchmarkLabel (EURUSD,M15)     Разрешение чарта: 1020 x 761 пикселей

ビットマップは全透過で15,257ms、タグは21,497msです。

実際の作業では、オブジェクトのパラメータを変更する前に読み込むことが多いため、パイプラインのチェックは重要です。また、オブジェクトに読み書きが混在することが多いほど、オブジェクトの修正動作は遅くなります。オブジェクトの変更には、まず一括して読み込み、次に一括して書き込むという、混在を避けた最適な戦略が必要です。特に、チャート上に何千ものオブジェクトがある場合は、なおさらです。


このテストの最も重要な結果は、ビットマップに複数回、10回、50回のタイムラグがないことです。上記の測定のようにラグがあっても(ただし、作業用チャートの大きさや構成に疑問がある)、十数パーセント以内に収まっているのです。

しかし、ビットマップはオブジェクト数が多く、レンダリング品質(透明度を含む)が向上し、好きなようにレンダリングできるため、スピード面では大きな視点を持っています。

 

さらにスピーディにセットアップが可能です。

1.チャートウィンドウを縮小し、作成したキャンバスが100%隠れるようにします。

2.モノクロチャートの配色を設定する(プロパティ→カラー→配色)/。

3.チャートを最小に縮小する(最大サイズでローソクを表示)。

でも。このように、ベンチマークの絶対値は低くなりますが、相対値は±同じになります。

 

コンピュータの何らかの部品が原因で、混合オブジェクト処理の性能が3倍も低下したことに注目してください(sanyooooookテスト)。

:

CPU(locks killed it?)とメモリが原因である可能性が高いです。どのプロセッサーを使ったのか、興味深いですね。

あるいは、このテストの時にパソコンにストレスがかかっていたのか、画面がカクカクしていたのかもしれません。

 
sergeev:

しかし、私はビットマップでグラフを描きます。

ビットマップには、オブジェクトと同様に多くの利点があります。

私もそう思います。それぞれの部品は、その目的に応じて良いものです。ビットマップは、例えばインターフェース要素の描画に欠かせないものです。まあ、他に選択肢はないんですけどね。

しかし、タグで統計情報を出力した方が早い/効率的です。:)

 
voix_kas:

でも。このように、ベンチマークの絶対値は下がりますが、その相対値は±同じになります。

入力条件をあえて指定したのは、ランダムな誤差がなく、きれいな測定ができる条件を皆が理解できるようにするためです。

あるテストでの2355msという結果は、テスト中にターミナルウィンドウを隠したり、スライドさせたり、切り替えたりしたことが原因でしたね。

2013.04.27 20:09:37     BenchmarkObjects (EURUSD,M5)    5. Время обновления текста и позиций у битмапа без прозрачности = 12558 ms
2013.04.27 20:09:24     BenchmarkObjects (EURUSD,M5)    4. Время обновления текста и позиций у битмапа с прозрачностью = 12839 ms
2013.04.27 20:09:11     BenchmarkObjects (EURUSD,M5)    3. Время обновления текста и позиций у меток с чтением = 2355 ms
2013.04.27 20:09:09     BenchmarkObjects (EURUSD,M5)    2. Время обновления текста и позиций у меток без чтения = 10655 ms
2013.04.27 20:08:58     BenchmarkObjects (EURUSD,M5)    1. Время обновления текста у меток без чтения = 10359 ms
2013.04.27 20:08:48     BenchmarkObjects (EURUSD,M5)    0. Время разогрева динамических очередей без визуализации = 124 ms
 
意外かもしれませんが、このテスト(3番)は私には効きません。SDに書き込みました(#732578)正確には、十数件のうち1件が合格です。ログに通知やエラーはありません。このテストの間、端末はただハングアップしています。
 
papaklass:

私のデスクトップテスト

そうですね、レナートさん、なんという決意表明をされたのでしょう。1920×1080以降の画面では、すべてを見つけるのに時間がかかりました。今、ノートパソコンで動かしてみます。

結果をありがとうございました。ビットマップも高速化している。

 
voix_kas:
意外かもしれませんが、このテスト(3番)は私には効きません。SDに書き込みました(#732578)正確には、十数件のうち1件が合格です。ログに通知やエラーはありません。このテストに合格している間、ターミナルはしばらくハングアップするだけです。
ありがとうございます、調べてみます。
 
Renat:

コンピュータの何らかの部品が原因で、混合オブジェクト処理の性能が3倍も低下したことに注目してください(sanyooooookテスト)。

:

CPU(locks killed it?)とメモリが原因である可能性が高いです。どのプロセッサーを使ったのか、興味深いですね。

あるいは、このテストの時にパソコンにストレスがかかっていたのか、画面がカクカクしていたのかもしれません。

最初のテストではウィンドウを切り替えましたが、2回目は全く何も触らず、同時にMT4が動作し、その中でスクリプトがチャートと他のいくつかのプロセスを実行しているため、コンピュータに負荷がかかる可能性があります )