Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RustとWebGPUで実現するアバター描画システムの刷新とコスト削減
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
gree_tech
PRO
October 16, 2026
Technology
63
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RustとWebGPUで実現するアバター描画システムの刷新とコスト削減
GREE Tech Conference 2026で発表された資料です。
https://techcon.gree.jp/2026/session/Short-Session-3
gree_tech
PRO
October 16, 2026
More Decks by gree_tech
See All by gree_tech
多彩なデータに負けないデータ分析パイプライン構築
gree_tech
PRO
0
66
AI駆動で挑むプロダクト刷新 ── アーキテクチャ設計とワークフロー最適化の実践事例 ──
gree_tech
PRO
0
62
『ヘブンバーンズレッド』のリグレッションテストにおけるストーリーの自動プレイ
gree_tech
PRO
0
77
REALITYにTAチームができるまでの軌跡〜ミッション:ガチャ本数5倍に対応せよ!〜
gree_tech
PRO
0
37
イベント続きでもミスらないライブサービスゲーム公式サイト運用システム開発
gree_tech
PRO
0
48
20年間 SNS サービス「GREE」 を支えた技術の刷新と、長期運用サービスの Kubernetes へのリアーキテクト
gree_tech
PRO
0
120
グラフ基盤ワークフローで実現するLLMによる自動ゲームプレイ
gree_tech
PRO
0
69
AIエージェントに脆弱性診断の仕事を奪われかけた ークローリングからコード全診断までの限界突破ー
gree_tech
PRO
0
58
アバター使っておもろいものを作り続けたい
gree_tech
PRO
0
57
Other Decks in Technology
See All in Technology
macOS Golden Gate 時代のMac管理
tategami
0
140
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
380
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
140
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
160
局所最適は悪ではない。壊れているのは指標です。量と質を同時に見る先行指標の設計
recruitengineers
PRO
2
620
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
アカウント統制の健康診断
kenichinakamura
1
150
企画を Software Factory-ready にする——開発が高速になったとき、PdMの仕事はどう変わったか
yachibit
1
160
LLM Content Moderationを支える評価・改善ループの実践
suikabar
2
320
顧客価値を追いかけたら、プライシングにたどり着いた
sansantech
PRO
2
690
Rustuna: Rustによる高速なOptuna実装
pfn
PRO
0
220
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
140
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Being A Developer After 40
akosma
PRO
92
590k
BBQ
matthewcrist
90
10k
Designing for Performance
lara
612
70k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Automating Front-end Workflow
addyosmani
1370
210k
Chasing Engaging Ingredients in Design
codingconduct
0
370
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Building AI with AI
inesmontani
PRO
1
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
Between Models and Reality
mayunak
4
500
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
RustとWebGPUで実現する アバター描画システムの 刷新とコスト削減 株式会社グリー シニアリードエンジニア 橋本順之
橋本順之 株式会社グリー シニアリードエンジニア 2013年3月にグリー株式会社(現:グリーホールディングス株式会 社)に入社、前職は画像処理のハードウェアエンジニア。現在に至 るまでインフラストラクチャ部に所属し、NoSQL・KVSのサーバー の開発や運用を専門とする。 社内KVSであるFlareの開発を経て、Webゲーム開発を経験。 『アナザーエデン 時空を超える猫』のDynamoDBの調整に機械学習
を導入後、機械学習のOSSやプロジェクトに参加。 2
目次 • 背景 ◦ プロダクト:モンプラ ◦ WebGPUに置き換えたアバターシステム • 課題 ◦
なぜGPUインスタンスをやめたい? ◦ WebGPUに置き換え? • CPU化 ◦ 従来型のリファクタリング ◦ AIでのリファクタリング:失敗と成功 • まとめ 3
背景 • • • • 『モンスタープラネット』(通称:モンプラ) ◦ 2010年リリース 3Dアバターをサポート MascotCapsule(2001〜)をベース(独自システム)
C++/Cg言語:GPUレンダリング Rust + WebGPUのシステムで置換 CPUレンダリングでコスト削減 (GeminiとClaude Codeで2026/03に開発) 4
どうやってアバターをレンダリング? ポリゴン テクスチャ 座標変換 アニメ化 影作成 画像 GIF 画像 ボーン
C++ / Cg(シェーダー) OpenGL XWindow Linux サーバー 5
なんでRustとWebGPU? : 開発の容易性 C++ / Cg OpenGL XWindow Linux サーバー
動作確認が面倒 MacやWindowsで 動かない。 VMでも動かない。 OpenGL・C++はデバッグ難 Rust / WGSL WebGPU Mac/Windows/Linux/ブラウザ 動作確認が簡単 ブラウザでの動作保証 エラーチェック ⭕ ※WebGPUはVulkan, Metal, Direct3Dを基盤とするGPUのAPI 6
課題:高いし、動かなくなってきた • GPUレンダリング ◦ NVIDIAのCgというシェーダー言語(古い技術) ▪ 2012年のバージョンが最後 • 課題 ◦
◦ 最新のGPUインスタンスは割高。 ▪ CPUインスタンス • m6a.2xlarge(8vCPU, 32GB ) • 0.44$/h ▪ GPUインスタンス • g5.2xlarge(8vCPU, 32GB, VRAM 24GB ) • 1.75$/h 最新のGPU(RTX [234]0xx やT4)では動かない ▪ A100やH100では動くが。 GPUインスタンスは 4倍高い サービスの継続性に支障 7
CPU化:従来型のリファクタリングの失敗 • 従来型のリファクタリング(生成AI以前) ◦ リファクタリング対象のコード:テストがない。 動く状態を保ちながら少しずつ改変<ー失敗 ◦ ◦ Cg言語とGLSL言語を同居<ー失敗 固定シェーダー的なグローバルの状態のあるOpenGL<ー古い
◦ • 置き換えは ことごとく失敗 失敗例 ◦ ◦ ◦ OSMesa:(CPUで動かすヘッドレスのOpenGL) ▪ Cgのランタイムがうごかない。 ▪ Cgのランタイムはソースコードがない。 Cg言語をGLSL言語に変換して動作 ▪ CgのランタイムはGLSLをサポートとあるが動かない。 CgのランタイムをOpenGLのフレームワークに置換 ▪ セグフォがでるがエラーメッセージが不十分(デバッグできない。) ▪ OpenGL:mesaのソースコードレベルの解析が必要。 8
CPU化:生成AI丸投げによる失敗 • 生成AI(Claude Code)に丸投げ ◦ ◦ • 生成AI ▪ ソースコードを読ませて、アーキテクチャ分析
▪ Cg言語からGLSLやWebGPUへの置き換え うまくいかない原因 ▪ 一気にコードを生成しすぎ。(認知的過負荷) • AIは適当な四角形を出し始める。 ▪ デバッグできない。 ▪ 検証するポイントを指定できてない。 中身がわかっていそうでも 一括生成は失敗 デバッグできない 失敗例 ◦ ◦ C++/Cgのコードを分析して、C++/WebGPUに変更せよ! ▪ セグフォ多発、単色の画像の出力。 ▪ GDBデバッグできない。(もともと生成AI以前もデバッグできなかった。) C++/Cgのコードを分析して、Rust/WebGPUに変更せよ! ▪ 単色の画像がでたり、四角い箱がでてきた。 9
CPU化:生成AIによるレビューの壁打、開発計画作成 • 開発計画の立案:生成AI(Gemini)と壁打ち ◦ ◦ ◦ AI(Gemini)と壁打ち:自分の開発計画に自信がない 段階的な開発 ▪ AIが開発の方法のレビュー
TDDが鍵 ▪ じっくり計画 段階的開発&TDD ▪ 数学的な座標変換、アセットのパーサー、WGSLのコード ▪ ゲートキーパーを置く(モジュールごとにデバッグ) ▪ タスクを分割:開発精度が向上 Rustで開発:セグフォ対策 • 開発(Claude Code) ◦ ◦ ◦ Claude Codeで開発、キャラの輪郭がでた。(画像でデバッグ) 人間が画像をみて、AIにフィードバック ▪ キャラが後ろ向いている(座標軸の向きの問題) ▪ 黄色い肌のいろが濁っている(透過処理の問題) ▪ パーツがキャラの本体から離れている。(ボーンの処理の問題) 本番環境から画像を収集してフィードバック 10
その後:本番導入へ • サポートセンター(入稿)やStaging環境での評価 ◦ ◦ ◦ ◦ 背景の透過処理の問題 モーションファイルがない場合のスキップ処理の問題 リクエストを落とす(リクエストハンドラとワーカー分離)
長時間稼働の問題:アセットのキャッシュがFULLでデッドロック • 本番導入 ◦ ◦ GPUインスタンスをCPUインスタンスにできた。 ▪ メモリも削減できた。 費用は5分の1になった ▪ GPU(1.75$/h)ー>CPU(0.38$/h) • 旧:g5.2xlarge(8vCPU, Memory 32GB ) • 新:c6a.2xlarge(8vCPU, Memory 16GB ) 11
まとめ • 生成AI活用によるシステムの置き換え ◦ ◦ ◦ レガシーシステム(C++/Cg/OpenGL・GPUレンダリング) 現代的なシステム(Rust/WebGPU・CPUレンダリング) 費用は5分の1 •
従来型のリファクタリングの失敗 • AI開発失敗パターン ◦ 生成AIに分析から実装まで丸投げ、デバッグできない。 • AI開発成功パターン ◦ ◦ ◦ ◦ 認知負荷をさげるために開発計画をAIと立案 ▪ 開発計画(Gemini)と実際の開発(Claude)のAIを分離 一気に開発させず、タスクを分離 デバッグ可能なマイルストーン デバッグしやすい言語(Rust)を選択 ▪ C++・OpenGLのセグフォのデバッグは困難 12
ご清聴ありがとうございました 13
None