リモートビューア「Scope 2020 0.0.2」リリース
噂の縮小モードを実装しました。
Scope 2020 0.0.2 Download
見た目は変わってないんですけど中身的には凄く変わっておりやす。速度はあんま向上してませんけど。
まず、ウィンドウをクリックすることで等倍モードと縮小モードが切り替わるようになりました。デフォルトでは縮小モードです。ちなみに、縦横の比率は無視してウィンドウサイズに合わせるタイプのやつです。
この縮小モードを作るのが結構大変でして、画像縮小だけならまだしもアンチエイリアシング処理もついてますし、しかも速度も出さないといけないし、品質もそれなりにしないといけないので、試行錯誤の連続でしたけど何とかなりました。やればできた。
事の発端は、StretchBltとかGDI+とかDirect2Dとかどれもアンチエイリアシング処理が品質とか速度とか負荷とかでイマイチだったもんで自作したんですけど、この処理だけでもなかなかの自慢の逸品になりましたんでぜひご覧ください。まあ高画質かってゆーとそれほどでもないんですけど素人演算ですんでその辺は飲み込んでください。
具体的にどんなことやってんのかと言いますと、縮小の際に省いた1ドットラインの周辺をアンチエイリアシング処理してるだけです、X軸とY軸で。処理はシンプルなんですけどアセンブラのソースを見たら「これ何やってんだっけ」てとこもありますけど既に。
あと、遅延制御を搭載しました。クライアント側で描画が間に合わないとかゆー状態になるとサーバー側のダイアログの「Delay」の値が上がるんですけど、それに伴いサーバー側のFPSを落とす仕組みです。厳密にはFPSではなくてCPS(Capture Per Second)の方なんですけど、連動してますんで。
あと、Twitterでも色々と書きましたけど、通信系の処理をガラッと一新しました。前のは捨て去りました。前バージョンとの互換性とかまるでありませんのでご了承ください。わざと通信エラーを発生させて再接続するテストをしたんですけど、今回のは再接続1000回を余裕でクリアしてます。ちなみに前回のは数十回でデッドロックとゆーね・・・。それ以前にハンドルリークとかもありましたけど。なので前のはすっかり忘れてください。
あと、クライアントとサーバーの解像度が違ってたりすると発生する不具合をはじめ滅茶苦茶の量の不具合を修正しました。とは言えまだバージョンは「0.0.2」ですので不具合はまだあるでしょうし不安定要素もありますけど。
そんなとこですかね。
余談ですけど、最近ParsecとかTGXとかGPUを使った爆速リモートデスクトップが結構注目を浴びてますよねー。コロナ禍におけるリモートワークとゆーものあるんでしょうけど、このScope2020も速度的には他の爆速リモートデスクトップと良い勝負なんじゃないかなーとか思っていたり。Scope2020はリモートコントロール機能がないんで描画だけ。
まあ、Vajraは内部的に言わば2倍速モードで動作してるんですけど、理論上は何倍でもいけるはずなんです。前にも書いた気がしますけど界王拳みたいな感じですかね。速度の上昇に伴いCPUの負荷も上がるんですけど、いずれ凄いコア数になるでしょーから、そうなればまた飛躍的に速度を向上させれるかなーと。
そんな感じでええ感じに育ってきてますこのエンジンええ。