DirectX - ページ 8 123456789101112 新しいコメント Aleksey Vyazmikin 2020.03.14 12:50 #71 Реter Konow: 昨日は、ウィンドウのキャンバス全体から独立してセルが再描画されるタンブラーの例を作りました: https://www.mql5.com/ru/forum/333652/page4 セルを別々に再描画すると、常に40fpsで再描画した場合、負荷が20%程度に抑えられることがわかります(ビデオではビデオ録画のため、より多く)。この方法による通常のタンブラーの動特性は、おおよそ5〜10%の負荷となります。 大きな面積(~500*500 px)を間髪入れずに高速で再描画した場合のみ負荷が高くなります(~40+fps)。再描画の遅延や面積の縮小は、負荷を何倍にも軽減します。 この例では、ガラスはもちろん、深さもかなり切り詰められていますね。面白いことに、スタックのレンダリングは、計算が別々のセルに分解されるので、さらにOpenCLですべてのコアで行わなければならないらしいのですが、ここで私は理論派になってしまいました。 Реter Konow 2020.03.14 13:00 #72 Aleksey Vyazmikin: あなたの例では、ビーカーはもちろん深さも含めてかなり切り詰められていますね。面 白いのですが、どうやらビーカーの描画は、計算がセルに分かれているので、さらにOpenCLで全コアで計算する必要があるようですが、ここで私は理論派です。 よし、細胞を増やしたビーカーを作って、もう一度確認しよう。 Rafil Nurmukhametov 2020.03.14 13:08 #73 Реter Konow: よし、細胞を増やしたビーカーを作って、もう一度確認しよう。 ただ、静的なものではなく、動的なものにしてください。 Nikolai Semko 2020.03.14 13:09 #74 Rafil Nurmukhametov: 前の写真では、オープンポジションが見えますが、価格の周りのフレームはマゼンタ色で、そこではポジションは赤字です。 私の感覚では、このような画像は1〜3ミリ秒以上形成してはいけないと思います。それ以上かかるようなら、どこかにバグがあるのでしょう。 Реter Konow 2020.03.14 13:16 #75 Rafil Nurmukhametov: ただ、静的なものではなく、動的なものにしてください。 ダイナミックとはどういう意味ですか?すべてのセルが同時に値を変更しないように?理解できない。 Rafil Nurmukhametov 2020.03.14 13:18 #76 Nikolai Semko: 私の感覚では、このような画像は1〜3ミリ秒以上形成してはいけないと思います。それ以上かかるようなら、どこかに異常があるのでしょう。 これで完成度のハードルが上がりましたね...。6〜8ミリ秒に下げたらどうでしょうか? Rafil Nurmukhametov 2020.03.14 13:19 #77 Реter Konow: ダイナミックとはどういう意味ですか?すべてのセルが同時に値を変更しないように?理解できない。 mt5のように真ん中ではなく、セルをまたいで現在の価格が 動くようにする Реter Konow 2020.03.14 13:22 #78 Rafil Nurmukhametov: mt5のカップのように真ん中ではなく、セルをまたいで現在の価格が 動くようにするため つまり、中央集権化しないことです。さて、先物商品にはこれが本当に必要なのです。オッケーです。(これは負荷をテストするためのモックアップに過ぎません)。 Nikolai Semko 2020.03.14 14:23 #79 Rafil Nurmukhametov:これで完成度のハードルが上がりましたね...。6〜8ミリ秒に下げられないか? が多すぎる。3でも多すぎる。30fpsの6-8は、CPU時間が20-30%です。可能な限りArrayCopyを 使用する必要があります。また、透明性は必要な場合のみ、必要最低限にすること。プロファイリングで実行し、最大CPUがどこに漏れているかを確認することができます。もちろんPeterの言う通り、変更があった箇所は局所的に再描画すべきですが、毎回キャンバス全体を再描画するのはやめましょう。また、DXを使用することで、CPUの負担を非常に軽減することができます Реter Konow 2020.03.14 15:22 #80 OK、エディターでガラスを作りました。2時間かかりました。そりゃあ、大騒ぎになりますよ。ツールを追加することで、4倍のスピードアップが可能です。 テストしてみました。 結果:40フレーム/秒で全セルのaskとbid、1セルの価格を一定に変化させた場合の負荷は20%以下となりました。(録画が可能になると負荷が5~7%上昇します)。 私は自分の意見を繰り返しますが、実際の状況下では、市場の動きに応じて5~10%の負荷がかかると思います。 ファイル: GUI_Expert.ex5 600 kb 123456789101112 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
昨日は、ウィンドウのキャンバス全体から独立してセルが再描画されるタンブラーの例を作りました: https://www.mql5.com/ru/forum/333652/page4
セルを別々に再描画すると、常に40fpsで再描画した場合、負荷が20%程度に抑えられることがわかります(ビデオではビデオ録画のため、より多く)。この方法による通常のタンブラーの動特性は、おおよそ5〜10%の負荷となります。
大きな面積(~500*500 px)を間髪入れずに高速で再描画した場合のみ負荷が高くなります(~40+fps)。再描画の遅延や面積の縮小は、負荷を何倍にも軽減します。
この例では、ガラスはもちろん、深さもかなり切り詰められていますね。面白いことに、スタックのレンダリングは、計算が別々のセルに分解されるので、さらにOpenCLですべてのコアで行わなければならないらしいのですが、ここで私は理論派になってしまいました。
あなたの例では、ビーカーはもちろん深さも含めてかなり切り詰められていますね。面 白いのですが、どうやらビーカーの描画は、計算がセルに分かれているので、さらにOpenCLで全コアで計算する必要があるようですが、ここで私は理論派です。
よし、細胞を増やしたビーカーを作って、もう一度確認しよう。
よし、細胞を増やしたビーカーを作って、もう一度確認しよう。
ただ、静的なものではなく、動的なものにしてください。
前の写真では、オープンポジションが見えますが、価格の周りのフレームはマゼンタ色で、そこではポジションは赤字です。
ただ、静的なものではなく、動的なものにしてください。
ダイナミックとはどういう意味ですか?すべてのセルが同時に値を変更しないように?理解できない。
私の感覚では、このような画像は1〜3ミリ秒以上形成してはいけないと思います。それ以上かかるようなら、どこかに異常があるのでしょう。
これで完成度のハードルが上がりましたね...。6〜8ミリ秒に下げたらどうでしょうか?
ダイナミックとはどういう意味ですか?すべてのセルが同時に値を変更しないように?理解できない。
mt5のように真ん中ではなく、セルをまたいで現在の価格が 動くようにする
mt5のカップのように真ん中ではなく、セルをまたいで現在の価格が 動くようにするため
つまり、中央集権化しないことです。さて、先物商品にはこれが本当に必要なのです。オッケーです。(これは負荷をテストするためのモックアップに過ぎません)。
これで完成度のハードルが上がりましたね...。6〜8ミリ秒に下げられないか?
OK、エディターでガラスを作りました。2時間かかりました。そりゃあ、大騒ぎになりますよ。ツールを追加することで、4倍のスピードアップが可能です。
テストしてみました。
結果:40フレーム/秒で全セルのaskとbid、1セルの価格を一定に変化させた場合の負荷は20%以下となりました。(録画が可能になると負荷が5~7%上昇します)。
私は自分の意見を繰り返しますが、実際の状況下では、市場の動きに応じて5~10%の負荷がかかると思います。