忍者ブログ

青空を映す皿

RustのGUIクレートの依存クレート

×

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

RustのGUIクレートの依存クレート

以前試した、kasとslintは、最小化するとエラーで落ちる。
依存しているクレートのせいでは?と思って、試して見た。

winit

slintが依存していると思われるwinit。
というか、rustで窓を生成する場合、ほぼこれ使ってると思われる程の有名クレート。
そんな有名クレートが最小化でエラーとか無いよね?

窓表示するだけのコード書いて実行した。
最小化・最大化は、問題なし。
問題ねぇじゃん。
winitは優秀なクレートでした。

wgpu

kasが依存していると思われるwgpu。
調査中に知ったのだが、WebGPUのrust実装だと単純に考えてたら違った。
Windows、Linux、macの各グラフィックスAPIのラッパーだった。
よって、Webだけじゃなくネイティブアプリも作れる。
ほほぅ、それはすごいな。
さっそくコード書く。
とは言え、窓はwinitで生成するので、絶対問題ないよね。
予想通り、最小化・最大化は問題なし。

slintのエラーは、slintコード

何でだよ、とさらにエラーをよく見る。
エラーは、slintのコードでエラーになってる。
上位フォルダはwinitなので、winitを使ってるのは、間違い。
と言う事は、slintがクソって事。

kasのエラーは、wgpuコード

エラーを確認すると依存クレートのwgpuのコードだった。
wgpuのせいじゃねぇか。
テストでは、窓はwinitを使ったけど、wgpuは何使ってるんだろ?

バックエンド問題

各クレートは便利にGUI使えるようにしてくれてるだけで、実際窓を作ってるのは、別物だったりする、らしい。
実際、winitを使うと問題ない。
wgpuは、基本的に自動的にバックエンドを選択するらしい。
オンライン端末で試すと、どうやらOpenGLが選択されているっぽい。
何でOpenGL?
Windowsなんだから、DX12だろ。
バックエンド選択ロジックおかしいんじゃねの?
バックエンド指定出来ないの?
rustのGUI、謎が多い。

拍手[0回]

PR

コメント

プロフィール

HN:
性別:
非公開

P R