pKozaneba2025-08-14
DevinにKozanebaをWebGPU対応させるか考えさせてたんだけど「現時点ではお勧めしない」とのこと
かなり大規模な書き直しが必要になる
まあそうだろうとは思った
やるならノウハウだけ活かして新しいプロジェクトとしてやるか
じゃあWebGLだったらどう?という質問に対するDevinの回答
WebGLは2025年現在96.57%のブラウザで対応しており、WebGPUより互換性は高いです。描画性能や物理計算の高速化は期待できますが、開発コストは非常に高く、現在のReact/DOM構造を全面的に書き換える必要があります。特にテキスト描画やアクセシビリティ対応、Scrapbox/Gyazo統合の再実装が大変です。
また、WebGL特有の課題としてテキスト描画の難しさやデバッグの困難さもあります。現状、fast_drag_manager.tsなどで最適化済みで明確なパフォーマンス問題は見られません。
したがって、現時点でのWebGL移行は推奨しません。数千個の小札で動作が重くなるなど具体的な問題が出た場合に検討すべきです。段階的なCanvas 2D API導入や仮想化、WebWorker活用での改善をお勧めします。
そもそも現状はデータを一つのJSONでFirebaseに保存してて2000枚程度でサイズの限界に当たるのがボトルネックなんだよな
描画方法を変えてみようという段階ではないわけか
現状でも1000件ではテキストが豆粒になってしまうから単純にサイズ上限をクリアしてレンダリングエンジンを変えて10000件表示してもユーザ価値はない、というわけか
それはそうな気がするなー
広聴AI的なもののリーフノードを単なる点ではなく付箋にすることを考えてる
Devinくんと議論してるんだけど、新規作成でもWebGLを避けたがるw
GPT5にセカンドオピニオンもらおうかな...
WebGLは最高のパフォーマンスを提供しますが、実装が複雑です。three.jsやPixi.jsを使えば実現可能ですが、開発時間が長くなります。Canvas(konva.js)の方が実装しやすく、20000枚でも十分なパフォーマンスが期待できます。どちらを優先しますか?
結局DevinくんはGPT5に「"20000枚でも十分なパフォーマンスが期待できます"は嘘だろ」と詰められてた
---