Итак, я работал над проектом в AS3, и я столкнулся с еще одним своеобразным поведением.Ресурсы ActionScript 3 и Runtime
Background: Это повернутая игра. Я оптимизировал его на прошлой неделе, и теперь он работает как масло (последовательно!);
Вопрос: Однако, когда я пытаюсь продолжить игру из сохраненной игры, она работает менее последовательно. В частности, он будет запускать первые несколько поворотов, как правило, тогда он начнет резко ухудшаться в производительности, пока он не заморозит мой компьютер. Обратите внимание, что это происходит только во время битвы, а не во время меню или в любое другое время.
Есть ли что-то в отношении Actionscript, которое мне не хватает? Я сохраняю игру с помощью файлов cookie, используя встроенный класс SharedObject. Код, который я использую для сохранения и загрузки данных, приведен ниже (я также использую класс массива байтов).
public static function saveGame():void
{
/// save the game using byte array
registerClassAlias("Mob", Mob);
registerClassAlias("Skill", Skill);
var ba:ByteArray = new ByteArray();
var savedData:* = Main.glblPlayer.setSaveObject();
ba.writeObject(savedData);
ba.position = 0;
so.data.game5 = ba;
so.flush();
}
public static function loadGame():Boolean
{
if (so.data.hasOwnProperty("game5"))
{
var ba:ByteArray = new ByteArray();
ba = so.data.game5;
ba.position = 0;
var loadedData:Object = ba.readObject();
glblPlayer.loadSaveObject(loadedData);
return true;
}
else
{
so.data.game = new Object();
return false;
}
}
Я просто дважды проверил вышеуказанный код и протестировал его немного больше с некоторыми вариантами. Если он загружен 1-3 раза, это нормально, но после этого производительность ухудшается во время битвы с каждым поворотом. Я понятия не имею, как работает технический материал ActionScript или как он экономит ресурсы, кроме того, что это файлы cookie, и он находится в кеше.
Может ли кто-нибудь пролить свет на это, возможно, немного перейдя к тому, как сохранить/загрузить флеш-игры в AS3? Или «использовать sharedObject» все, что есть?
Я даже не знал, что это существовало, спасибо. –
Итак, я запустил его, и он сказал, что «другие накладные расходы» занимают огромное количество вычислительной мощности, резко снижая частоту кадров. Вы когда-нибудь слышали об этом? Или какие накладные расходы должны быть? –
@Naomi Dennis Нет, извините. Это может быть хорошим последующим вопросом. Или, может быть, вы найдете что-то полезное на форумах Adobe, например здесь: https://forums.adobe.com/thread/1114767 – null