なんてカッコつけてタイトルをつけてみましたが、プログラムコードの大きさを減らす作業です。
PICO-8のトークン最大値8192を超えてしまったので、現在その作業をしています。
今回は、2つの最適化に取り組んでみました。
一つは、テーブル内に納めていた関数をドット記述ではなく、{ }内に納めました(これで1トークン減らせます)。
例
tbl = {}
tbl.init=function()
do something
end
を
tbl = {
init=function()
do something
end
}
と変更するのです。
ドットで記述する方が分離出来て見やすかったので、書いていましたが、トークンオーバーなので変更しました。
これを全てのテーブルにおこなったところ、トークンオーバーの8193から8128の65トークン減しました。
もう一つは、split関数を使って、要素数の多いテーブルデータをテキスト化して読み込むことで、減らすことが出来ます。
例
tbl = { 1,66,34,82,14,66,90,23,51,39,80}
と記述するところを
tbl = split("1,66,34,82,14,66,90,23,51,39,80")
と記述することで、この場合、9トークン減らせます。
これで、8076トークンまで減らすことが出来ました。
最適化スタート時は、トークンオーバーの8193でしたが、結果は8076トークンとなり、117トークン減らすことが出来ました。
もう少し減らせることはないか、探してみますよ。
コメント