キャンバスがカッコいい! - ページ 65

 
Nikolai Semko:
アルテムさん、ごく簡単に言うと、以前はピクセルを正方形としてとらえ、新しいスケールのピクセルに占める重さを面積で計算していましたが、今は円としてとらえ、新しいスケールのピクセルの中心までの距離で重さを計算しています。
ありがとうございます、面白いですね。
 
Nikolai Semko:

ここに コードの例を示しました。しかし、このコードは完璧とは言い難い。今だったら、まったく違うやり方をしていますよ。


おお、すごい!コードを少し変更しました。リサイズ機能をクラスから独立させ、汎用的に使えるように別ファイルにし、不釣り合いなサイズを変更する機能を追加しました。
ファイル:
ImageResize.zip  384 kb
 
Nikolay Kositsin:
驚きです。コードを少し変更しました。リサイズ機能をクラスから独立させ、汎用的に使えるように別ファイルにし、不釣り合いなリサイズをする機能を追加したのです。

まあ、実際、アルゴリズムはひどいんですけどね。私は、純粋にこれをテストするために、そして変形させたときにどのように色が保たれるかを見るために、1日で書き上げたことを覚えています。
非常に遅いのですが(点滅が見えたり、不具合があった記憶があります)、何倍も高速化できる可能性は大いにあります。
さて、このリサイズを書き直すには、あのコードの後に得た知識と経験から、3日くらいかかると思います。
でも、車輪を再発明するよりも、既製品を探した方がいいのかもしれませんね。
例えば、C++のフリーライブラリです。古いですが、かなり使えます。
https://drive.google.com/file/d/1BceTk-OrtQza0Hpozhm1nqAcNkRdeNH5/view?usp=sharing
Look demo example image_perspective.



 
Nikolai Semko:

まあ、実際、アルゴリズムはひどいんですけどね。私は、純粋にこれをテストするために、そして変形させたときにどのように色が保たれるかを見るために、1日で書き上げたことを覚えています。
非常に遅い(点滅したり、不具合があった記憶がある)のですが、何倍も高速化できる可能性は大いにあります。
さて、このリサイズを書き直すには、あのコードの後に得た知識と経験から、3日くらいかかると思います。
でも、車輪を再発明するよりも、既製品を探した方がいいのかもしれませんね。
例えば、ここにC++のフリーライブラリがあります。古いものですが、ちゃんと動きます。
https://drive.google.com/file/d/1BceTk-OrtQza0Hpozhm1nqAcNkRdeNH5/view?usp=sharing
デモの例 image_perspective を見てください。


実は、そのはずだったのですが、インターネット上では、特にこのテーマについては、すべての情報が何となく虫食い状態になっていることが判明しました。リンクの所有者がダウンロードの許可を出すかどうかわからない。
 
Nikolay Kositsin:
実は、そのはずだったのですが、インターネット上のこの話題は、なぜかすべての情報が虫食い状態になっていることが判明しました。リンクのためにあなたに感謝しますが、それはコード化され、ダウンロードするリンクの許可の所有者かどうか - それは明らかではありません。

修正しました。パスワードなしで開けます。

 
Nikolai Semko:

グラフィックス出力にCPUを使うことでも、MQL5のタスクエリアにおけるグラフィックスタスクの99%以上をカバーしているというのはRenatと同意見です。

TerminalのGUI自体にCPU負荷がかかっているんです。

 
Nikolai Semko:

修正しました。パスワードなしで開けます。

ニコライ、図書館のどちら側を掘ればいいんだ?利用可能なあらゆる解析手法で探りましたが、画素配列や画像のリサイズやリサンプリングは見つかりませんでした。
 
fxsaber:

TerminalのGUI自体のCPU負荷が高いんです。

Ryzen 3700xやGTX1060もロールアップするかしないかの違い、開発者は時代に合わせてリアルタイムに近い応答性を下げている、古いプロセッサを変える時期、2700Kではないですか?

 
Fast235:

Ryzen 3700xとGTX1060もロールアップするかしないかの違い、開発者は時代に沿ってリアルタイムに近い応答性を減らしている、古いプロセッサを変更する時期、2700Kのような

そうですね、マーケットレビューで100文字ずつの高周波コータが来るような端末を、開発者が5台並列で動かすことはないでしょう。

このようなTerminalの最小化によって、大きなCPU負荷がほとんどゼロになると、とてもバカバカしくなります。なぜこのような非合理的にCPUを消費するGUIが必要なのかは不明である。

 
fxsaber:

そうですね。高頻度のMarket Watchでは1台あたり数百文字になるようなTerminalを5台並列で動かすことは、開発者としてはあり得ないと思います。

このようなTerminalの最小化によって、大きなCPU負荷がほとんどゼロになると、とてもバカバカしくなります。なぜこのような非合理的に消費されるGUIなのか、理解できない。

ドレスコードは守る、googleは誰でもわかる欠点がすごい多い、でも全部見落とす、MQはこの巨人のようになりたいと強く思っている。