新アーキテクチャのリモートデスクトップのβ版を公開です。開発コード「Vajra」って言ってたヤツです。
名前は「Verethragna(ウルスラグナ)」と言いましてアイコンはBrynhildrぽいです。てかほぼBrynhildrのアイコンです。Verethragnaはまだ全然未完成ですし利用規約にもありますけど法人での営利利用はNGとしてます。もし法人営利の場合はBrynhildrをご利用くださいませ。
バージョンは「0.1.0」ですのでアプリとしてのその未完成度の高さについてはどうぞお察しください。
プラットフォームは例によってとゆーか案の定のWindowsで。
ちなみに本アプリはIchiGekiの名義ではなくて「株式会社RATH(ラース)」での開発&提供と相成ります。下記の通りVerethragnaの特別サイトもありますのでダウンロードとか利用規約とか取り扱い説明とかについてはそちらをご覧くださいませ。
https://rath.remotedesktop.jp
ちなみにRATHは東京のAI企業で「彼女、お借りします AIチャット&アラーム」のトークAIとか作ってます。
で、こちらのブログではVerethragnaの開発とか裏話について書いていこーかと。怒られないてーどに。
Vajraについては度々記事にしてきてますけど、改めてVerethragnaの特徴としましては以下の通りで。
・新アーキテクチャ
・高パフォーマンス(但し高負荷)
・CPUでの演算に特化(=GPUに負担をかけない)
・通信はTCPのみ
・ローカルネットワークのみでセキュアな構築が可能
・対応OSはWindows10ですけどたぶんWindows7でも動作可能(但し否高速)
新アークテクチャで設計レベルから作り直しました。約15年ぶりですかね、リモートデスクトップですと。ボイスチャット辺りから試し打ちはしてた感じですけど、改めましてって感じですかね。ここ1年くらいで結構コードを書き直しましたのでパフォーマンスも段違いに上がってますし。
最近、ParsecとかTGXとかの圧縮にGPUを利用したリモートデスクトップが気になってるんですが、圧縮にGPUを使えば速くなるんでしょーけど、何とかCPUのみでも頑張れないものかなと。DirectX7の頃のハードウェア支援が環境依存が激しくて嫌いになったトラマウかも。
で、最近のCPUであれば仕組みによっては1920x1080の60fpsもいけそーでしたのでCPUのままでいってみよーかと。今後も新しいCPUはコア数を増やしてくるでしょうから当然負荷も下がるでしょうしまあ方向性としては大丈夫かなと。数年先を見据えるとCPUのみも全然アリなんじゃないかと。
そして、ゼロから作り直してるので結構ポテンシャルがありますこやつ。
まず、あえてCPUに負担をかけることでパフォーマンスを出せるようにしてます。通信系やら圧縮展開系やら描画系やら並列処理できるとこは並列処理で。BrynhildrとかGungnirではアーキテクチャ的に今以上パフォーマンスを上げることが難しかったものでアーキテクチャを一新と。1920x1080ならVerethragnaはGungnirの倍くらいは高速だと思いますたぶん。まあ負荷も倍近いんですけどまあ満足のパフォーマンスです。
そんでもって、縮小処理とアンチエイリアスをガッチャンコした処理を自作した甲斐があってか負荷を下げつつパフォーマンスを上げることに成功してます。この機能がなかったらこのパフォーマンスは出なかったのでカナリ重要ポイントだったりします。コンパクトにまとまりつつ、しかもこの処理も並列で動作するので今風に仕上がってます、例によって開発言語はアセンブラですけど。
あと、Verethragnaは通信処理がBrynhildrと大きく違います。Brynhildrは1段目2段目3段目と順番にセッションを接続する必要があり、例えば3段目が切断されると他の1段目2段目も切断しないと再接続できないのですが、Verethragnaは3段目だけ切断されても3段目だけ再接続で復帰できるよーになってます。しかも順番である必要もありませんのでいきなり2段目でも接続できます。マルチスレッドとソケットを駆使して上手く作れたので我ながら自己満足の出来です。
あと、Verethragnaは「verethragna.exe」が1つの1モジュール仕様です。BrynhildrやGungnirは2モジュール仕様でDLLによりパフォーマンスを跳ね上げてます。DLLにした方が高パフォーマンスになることは何回か記事で書いたことがあると思いますが、1モジュールで既にこれですのでまだ余力は十分あるとゆーことで末恐ろしいですね。
あと、IPv6に対応「は」しています。オフになってますけど。いつかオンにする日がくるのかどうか。
あと、画面解像度は4K越えの4800x2700まで対応させてます。それ以上もいけると言えばいけるんですけど圧縮に使ってるコーデックの方に手を入れないといかんので今回はこのくらいで。
あと、画質は高めで固定の強気設定です。いずれ選択しよかなとは思ってるんですけどまずは高画質で見てもらいたいもので。ま、その分通信データ量は増えてるんですけど5Gとかで通信インフラが強化されてくるであろう将来を見越すと通信データ量はどんどん気にならない時代になっていくと思いますのでその辺はそんな感じで。
あと、FPSはBrynhildrと同様で環境次第でどれだけでもいけるんですけど60fps辺りがベースラインになるんじゃないかと思ってます。モニターが120Hzに対応してれば120fpsでも動くんですけど当方の環境だと解像度を下げないと120fpsは出ませんでしたけど。ちなみにBrynhildrは30fpsがベースラインでした。
あと、Verethragnaはローカルネットワークのみで完結できるのでセキュアにはできるのではないかと。通信プロトコルもTCPだけですし。Brynhildrもそーなんですけど。クラウドを使っていないので非常にセキュアなんです、と言える今日この頃で。但し、パスワード機能がないのと通信は暗号化してないのでその辺はVPNなり専用線なりでセルフセキュアでお願いしやす。いずれ何とかしたい気持ちはありますけど。
あと、ご覧の通りのβ版ですので機能が乏しいです。権限周りの処理も付けてないので管理者権限とかログイン画面周りとかは操作できないです。この辺は何とかしたいなーと思ってますのでバージョンアップにて少しずつ良くなっていくのではないかと希望的観測。
ウェブサイトの方にも書いてありますけど、元々AIの強化学習用に開発したデスクトップ画面をキャプチャーするもので、そもそもリモートデスクトップじゃなかったもので。その画面キャプチャーアプリに遠隔操作とか音声伝送を取り付けてリモートデスクトップぽくしたんです、実は。
とは言え、こうしたかった遠隔操作の制御とかこうしたかった音声伝送の仕組みが新しく作り直されて非常に満足な出来ではあるんですけど。サーバー側のウィンドウにログの表示とかも。
とゆーわけで長くなってきたので今回はこの辺で。
気になった方はVerethragnaをぜひお試しくださいませませ。
https://rath.remotedesktop.jp