メインコンテンツへスキップ
< すべてのトピックに戻る

MonoBehaviourのOnGUI()がパフォーマンスに悪い理由は?

OnGUI() は古いUIシステムであり、画面に何も描いていなくても存在しているだけで毎フレーム大量のゴミ(GCアロケーション)を発生させるからです。

 

内部的な描画イベントの仕組みが古く、現代のUnityの高速な描画システム(URP等)に最適化されていないためです。

 

現在のUnity 6では、ゲーム内のUIには「uGUI(Canvas)」を使用し、エディタ拡張やツール画面には「UI Toolkit」を使用してください。OnGUI()は、個人開発のちょっとしたデバッグボタン程度に留めるべきです。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に