質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

0回答

435閲覧

特定条件下でUI.TextとSpriteRendererはどちらのほうが軽いですか?

chicken99

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2019/08/23 15:20

前提・実現したいこと

Unity2Dです。
以下の条件でUI.Textで表示する場合と、SpriteRendererで表示する場合、どちらのほうが軽くなるでしょうか?

■表示したいテキストは最大3桁の数字です(0~100)
■ほぼ毎フレーム更新される想定です(変化するのは数字と座標{Transform.Position}です)
■画面に占める割合は非常に小さいです
■SpriteRendererの場合は0~9の画像を横に最大3つ並べて3桁を表現します。
■UI.Textの場合はそれ専用にCanvasを作り、その中で動かします。

補足情報

Unityの最新バージョンを使用する想定で、WebGL、iOS、Android向けゲームを作成中です。
当方の大まかな認識としては、UI関連は動かさない場合が最もパフォーマンスがよく、
頻繁に動かす場合はSpriteRendererにするべきだという程度の認識でいます。

ただ、それが1つのUIと3つのスプライトの比較でも同じことが言えるのかどうか、
スプライトの大きさやColor等の要素によって評価が逆転する可能性があるのかどうか、
が主に知りたい点です。

ケースバイケースな問題なのであれば、どちらか一方に軍配が上がるケースをそれぞれ教えてください。
あるいは、どちらで実装した場合でもゲームのパフォーマンスには全く影響しない(他にもっと気にするべき重要な問題がある!みたいな)場合はその旨お知らせいただけますと幸いです。

プロでお仕事をされている方の認識や体験談みたいなコメントでも大歓迎です。よろしくおねがいします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2019/08/24 09:02

この場合、自分で実験したほうが早いと思います。
sakura_hana

2019/08/26 02:22

UI.Imageも選択肢に入れると、一応こういう記事もありますが(既に見ているかもですが)現行のUnityでも同様か分からないので…… http://tsubakit1.hateblo.jp/entry/2016/09/26/080000 結局は自分で検証してみるのが確実、というのに私も同意します。 (あとuGUIは「Canvas内でText位置を動かす」のと「WorldSpaceモードでCanvasを動かす(Canvas内でのText位置は動かない)」で負荷が変わったりして?という疑問もあります。勘ですが)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問