x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Blueprintでのメモリ管理について

お世話になっております。
Blueprintでのメモリ管理について質問させて下さい。

プロジェクトはBlueprintのみで構成しています。
使用バージョンは4.15.2です。

https://www.unrealengine.com/ja/blog/rob-gray-vid-tut-endless-runner

現在、上記のチュートリアルを参考にさせていただきつつ、
iOSをターゲットとしてエンドレスランナータイプのゲームを作成しています。

・キャラクターがトリガーBOXに触れた瞬間、Spawn Actor で前方の地形を生成。
・地形の Construction Script から障害物、アイテムなどをChild Actor Component で追加。
・前方の地形が生成された後、数秒待ってから Destroy Actor で自身(地形)を削除。

といった流れで地形の生成と削除を繰り返しているのですが、
iOS(iPhone)上で起動した場合、時折動作に引っかかり(ガクつき)が生じてしまいます。
動作を確認している機種は iPhone6, iPhone7+ の2台で、前者の方が顕著に症状が現れます。
(Windows版でのプレビューでは引っかかりを体感できませんでした)

継続的にフレームレートが落ちているわけではなく、数秒(分)に一回発生する為、
メモリ解放の問題ではないかと考えているのですが、
具体的な解決方法に目処が立たず困っています。

GarbageCollectionの項目も一通り変更してみたのですが、
私自身が各値の効果を正確に把握していない為、具体的な改善には至りませんでした。
※現在のGarbageCollection項目のスクリーンショットを添付させていただきます。
[添付] gc.jpg

何かご存じの方がいらっしゃいましたら、ご返信いただければ幸いです。 よろしくお願いいたします。 alt text

Product Version: UE 4.15
Tags:
gc.jpg (65.9 kB)
more ▼

asked Jun 06 '17 at 04:54 PM in Japanese

avatar image

きょろ
3 3 5

avatar image motayoshi.san Jun 08 '17 at 12:28 PM
 LogUObjectArray: 32493 objects as part of root set at end of initial load.
 LogUObjectAllocator: 7077032 out of 0 bytes used by permanent object pool.

ログファイルから上記の記述を検索して。

MaxObjectsNotConsideredByGC に最初の数字(32493)を

SizeOfPermanentObjectPool に次の数字(7077032)を入れてみるとどうでしょうか?

(アプリケーションによって数字は異なります。)

avatar image きょろ Jun 11 '17 at 01:12 PM

motayoshi.san 様、情報ありがとうございます。
リプライが遅れてしまい、申し訳ございません。

モバイルプレビューで実行した上でログを検索した所、以下の内容が出てきました。


LogUObjectArray: 32493 objects as part of root set at end of initial load.
LogUObjectAllocator: 7077024 out of 0 bytes used by permanent object pool.


MaxObjectsNotConsideredByGC, SizeOfPermanentObjectPool にそれぞれ数値を入れてみたのですが、
ipaにパッケージ化してインストールして実行してみた所、一定の時間が経つと同様のフレーム飛びが発生しました。
改めて確認した所、該当のタイミングに近づくに連れて、フレームレートも減少しているようでした。
引き続き確認を進めたいと思います。
実行環境、方法などに問題があればご指摘いただければ幸いです。

avatar image motayoshi.san Jun 12 '17 at 05:34 AM

プロファイルを取ってみて、どの処理がボトルネックになっているか見てみるのが良いかもしれませんね。

link text

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

0 answers: sort voted first
Be the first one to answer this question
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question