Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вопрос по оптимизации (http://www.flasher.ru/forum/showthread.php?t=215828)

Appleman 30.09.2024 17:39

Вопрос по оптимизации
 
Друзья, у меня вопрос не чисто о кодинге, а скорее о подходе, т.к. очень плохо ориентируюсь в вопросах оптимизации.

Сейчас пишу внутриигровой журнал и, в частности, статистику персонажа: характеристики, шмотки и т.п., как обычно в ролевых играх. Вопрос, какой из двух приведённых ниже подходов оптимальнее с т.з. вычислительных ресурсов:
1/ заготовить "рыбу" в виде экземпляров Sprite с блоками инфо обо всех свойствах. Каждый раз, когда пользователь выбирает опцию "показать статистику персонажа", обращаться к Модели этого персонажа, вытаскивать из неё значения параметров и создавать статус-иконки, заполнять текстовые поля, шкалы, тултипы и т.п.
2/ создать и заполнить экземпляры Sprite для каждого персонажа заранее, в момент его инициализации в игре, и складывать их в Vector или Dictionary. Получив соответствующую команду пользователя, вытаскивать и добавлять в DOC. А обновлять (ориентировочно) в момент открытия журнала, проверяя, какие параметры изменились, по сравнению с предыдущим открытием.

Может, ещё будут какие-нибудь здравые мысли.
Спасибо.

Bletraut 04.10.2024 21:01

Второй вариант звучит более оптимизировано, т.к. все объекты уже заранее подготовлены и остаётся их только отобразить если я всё правильно понял, но стоит ли хранить всю эту информации в памяти и вообще как часто игрок будет смотреть этот журнал (допустим сгенерировали мы кучу разных экземпляров, храним их в памяти, а игрок так ни разу и не открыл этот журнал, получается зря используем ресурсы :) )? А вообще преждевременная оптимизация - это не лучший подход. Возможно, что первый способ более прост в реализации, а так же более гибкий и универсальный, а разница в производительности между первым и вторым способом составит пару миллисекунд. Я бы вначале попробовал реализовать то что проще и посмотрел бы как оно тормозит или нет.

В первую очередь в оптимизации нуждаются самые загруженные места, т.к. их исправление и даст больше всего прироста производительности.

Appleman 06.10.2024 18:38

Спасибо, разумно. По факту выбрал первый путь. А сам вопрос был больше теоретический. У меня пока вообще сплошные геометрические примитивы и заглушки из пакета graphics, поэтому тормозить там категорически нечему :)


Часовой пояс GMT +4, время: 20:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.