Japan.R 2024 で「How To Craft A Blazingly Fast Graphics Device」というタイトルで発表してきました。

先週末に開催された Japan.R 2024 で10分枠で発表してきました。 久々の完全オフライン開催ということで、運営もいろいろ大変だったと思います。運営のみなさま、そして会場係をされていた方々、ありがとうございました。

スライドは Quarto Pub で公開しています。

話すのは日本語だと決めていたんですが、スライドを日本語にするか英語にするかは迷いました。 聴衆はたぶんほぼすべて日本語分かる人なので日本語か?と思ったものの、英語にしとくと英語圏にも資料を公開できるので便利かも、ということで英語にしてみました。 英語でわかりづらかった、という人がいたらすみません。

これまでのあらすじ

WebGPU でグラフィックデバイスをつくるに至った経緯は少し前にブログに書きました。

その後の心境の変化

上のブログにもいくつか書いたんですが、グラフィックデバイスをつくっていると、どうがんばってもグラフィックデバイス API の枠内でできることには限りがあることに気付いてきます。 ならば新しいグラフィック API を打ち立てる必要がある、ということになりますが、それはもちろん並大抵のことではありません。 どうせやるんだったら「R からも Python からも使えるグラフィックスのスタックを打ち立てます!」みたいなでかいことをぶち上げないとペイしなさそうだなあ、という予感がしてきて、 そうなるとますます個人の手でどうにかできるものではありません(意訳: Posit 社がやってほしいなあ)。

ということで、このグラフィックデバイスの完成は(少なくとも短期的には)諦めることにしました。 そして、プレゼンは、つくったものを自慢するのではなく、

  1. グラフィックデバイスとは何なのか
  2. そこに新しい API があればどんなワクワクすることがあるのか

の2点を伝える、というのを軸につくることにしました。 2点目の例として何を出すかはいろいろ選択肢があったのですが、アニメーション API がいちばんキャッチーそうだったので、この発表のために実装しました(笑)。 ちょっとコードを足すだけだったのでそんなに大変なものでもないですけど。

結果は...、うまくいったかはわかりませんが、けっこう「面白かったです」と話しかけてもらえたので、まあ伝わる人には伝わったのかなと思います。 感想をくださった方、ありがとうございました!

今後?

もうちょっと機能を整えたりバグを取ったりしたい気持ちはあるのですが、他にもやることが出てきそうで、しばらくは放置になりそうな気がします。 まあ、開発してみて、使っているライブラリ(vello)側の実装待ちみたいな部分もいくつかあったので、技術の進歩もウォッチしながら気長にやろうと思います。