忍者ブログ

青空を映す皿

RustのGUIクレート egui

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

RustのGUIクレート egui

懲りずにGUIクレートを調査するよ。
今回は、egui。

検索すると大抵最初にヒットするんだけど、テーブルウェジットが無さそうなので、スルーしてた。
けど、検索方法が悪かったらしくGridというウェジットがあり、これがテーブルみたい。

ならば試すっ。
すでにDL済みだったので、さっそくウィンドウ表示するだけのソース書いて、実行。

おぉ、最初っから背景色が黒くて俺好み。
最初に確認するのは最小化。
動いたっ!
最小化したっ!
次は、最大化。
動いたっ!
最大化したっ!

なんちゅぅか、何でこんな基本機能が動いただけで、大騒ぎしなきゃいかんのか。
それだけRustのGUIが発展途上という事か。

ようやくまともなクレート見つけた。
では、まともに動きを確認。
ラベルとテキストボックス、スライダー、ボタンはちゃんと動く。
当たり前だが。
だが、テキストボックスでIMEがONにならん。
メンテナーは海外の人だし、IMEなんて使ってないか。

調べてみると、丁度IMEバグのあるバージョンだった。
クソかよっ。
最新版を確認すると、バージョン上がってるし。
またDLして持ってこないといかんのか。
GUIは、コンパイル時の依存クレートが350くらいあって、くっそ時間かかる。
かつ、関連データが2GB超えてて、圧縮しても1GB弱。
徐々にクレート導入が手間になってきた。
これだからオフライン環境はクソ。

なんとか最新版を導入。
テキストボックスでIMEがONになる事を確認。
入力すると、文字化け~。
まぁこれは想定してた。
IMEの調査で、日本語表示には、フォント設定が必要と書いてあったから。
最新ドキュメントを参照しつつ、フォント設定して、実行。
ラベルに書いた日本語が表示された。
IMEで変換した文字も問題ない。

おぉ、ようやく普通に使えるGUIクレートだぁぁ。
これまで駄目だったクレートと違って、有名?クレートに依存していないのが良かったのかも。

ただ、気になるのは、60FPSで再描画するという仕様。
ゲーム用として人気らしいけど、俺が作るのは業務アプリなので、そんなに描画しなくてよい。
アプリを起動しているだけだと、CPUとGPU共に、ほぼ使わない。
常に60FPSな訳じゃないのは素晴らしい。

次は、アプリ上で、マウスをぐりぐり動かす。
これだけで、60FPSで再描画されるらしい。
CPUは5%上昇、GPUは10%上昇。
思ったより負荷小さい。
助かった。

この程度の負荷なら、業務アプリ作っても問題ないかな。
あとは、Gridがどんなもんなのか。
来週は、その辺の確認をしよう。

拍手[0回]

PR

コメント

プロフィール

HN:
性別:
非公開

P R