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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

Q&A

0回答

2747閲覧

UnityでLuaを使用した際に、GC Allocを発生させない方法について

aoshanghai

総合スコア24

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Lua

Luaは、汎用のスクリプト言語の一つで、 移植性が高く、高速な実行速度などの特徴を持ち 手続き型・オブジェクト指向言語としても利用可能で 関数型言語、データ駆動型の要素も併せ持っている言語です。

0グッド

0クリップ

投稿2017/12/01 08:00

###前提・実現したいこと
Unityで、Luaスクリプトを使用しております。

現在は、MoonSharpというアセットを使用しているのですが、
最近気づいたのですが、GC Allocが毎フレームそれなりの量(10KB前後)が
発生しておりまして、なんとかして、このGC Allocをなくす
方法がないかと調べておりました。

そうしたところ、xLuaというのが見つかりまして、
こちらは、GC Allocが発生しないような最適化
コードを出力することが可能なようでした。

しかしながら、xLuaは、2016年に公開され始めたようで
ネット上に情報が多くなく、採用実績も現時点では
不明です。

なので、これから検証をしていこうかと思っておりますが
もし、よろしければ、以下の2点についてお伺いできればと
思いまして、質問致しました。

1,Unityで、Luaスクリプトを使った際に、GC Allocを発生させない
良い方法は何かありますでしょうか?
まだ、MoonSharpの検証しかやっておりません。

2,xLuaを、今から検証していきたいと思いますが、
もしこのアセットについて、検証された方がおられましたら、
・GC Allocの最適化具合
・Luaとしての使い勝手
・安定性(バグの多い少ないなど)
について、ご教示頂けないでしょうか?

お手数をおかけいたしますがどうぞよろしくお願い致します。

###発生している問題・エラーメッセージ

Unityで、MoonSharpを使用した際に
GC Allocが毎フレームそれなりの量(10KB前後)が
発生しております。

###試したこと
xLuaの中にGenerate Codeというメニューがありまして
こちらを選ぶと、最適化されたコードが出力されて
GC Allocが発生しないようになるようです。

###補足情報(言語/FW/ツール等のバージョンなど)
Unity 5.6.1f1 (64-bit)

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問