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
55
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
58
AI駆動で挑むプロダクト刷新 ── アーキテクチャ設計とワークフロー最適化の実践事例 ──
gree_tech
PRO
0
56
『ヘブンバーンズレッド』のリグレッションテストにおけるストーリーの自動プレイ
gree_tech
PRO
0
72
REALITYにTAチームができるまでの軌跡〜ミッション:ガチャ本数5倍に対応せよ!〜
gree_tech
PRO
0
34
イベント続きでもミスらないライブサービスゲーム公式サイト運用システム開発
gree_tech
PRO
0
40
20年間 SNS サービス「GREE」 を支えた技術の刷新と、長期運用サービスの Kubernetes へのリアーキテクト
gree_tech
PRO
0
110
グラフ基盤ワークフローで実現するLLMによる自動ゲームプレイ
gree_tech
PRO
0
62
AIエージェントに脆弱性診断の仕事を奪われかけた ークローリングからコード全診断までの限界突破ー
gree_tech
PRO
0
54
アバター使っておもろいものを作り続けたい
gree_tech
PRO
0
45
Other Decks in Technology
See All in Technology
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
150
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
380
Let's Change Our World—Again
snoozer05
PRO
4
270
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
340
Optunaの最新リリースv5.0について
pfn
PRO
0
130
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
370
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
0
170
会社紹介資料 / Sansan Company Profile
sansan33
PRO
31
430k
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
180
AI時代のGraphQL
joere
1
300
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
210
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
810
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Paper Plane
katiecoart
PRO
5
54k
How to Talk to Developers About Accessibility
jct
2
590
The SEO Collaboration Effect
kristinabergwall1
1
600
The browser strikes back
jonoalderson
0
1.8k
Odyssey Design
rkendrick25
PRO
2
880
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
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