![]() |
|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
![]() Друзья, у меня вопрос не чисто о кодинге, а скорее о подходе, т.к. очень плохо ориентируюсь в вопросах оптимизации.
Сейчас пишу внутриигровой журнал и, в частности, статистику персонажа: характеристики, шмотки и т.п., как обычно в ролевых играх. Вопрос, какой из двух приведённых ниже подходов оптимальнее с т.з. вычислительных ресурсов: 1/ заготовить "рыбу" в виде экземпляров Sprite с блоками инфо обо всех свойствах. Каждый раз, когда пользователь выбирает опцию "показать статистику персонажа", обращаться к Модели этого персонажа, вытаскивать из неё значения параметров и создавать статус-иконки, заполнять текстовые поля, шкалы, тултипы и т.п. 2/ создать и заполнить экземпляры Sprite для каждого персонажа заранее, в момент его инициализации в игре, и складывать их в Vector или Dictionary. Получив соответствующую команду пользователя, вытаскивать и добавлять в DOC. А обновлять (ориентировочно) в момент открытия журнала, проверяя, какие параметры изменились, по сравнению с предыдущим открытием. Может, ещё будут какие-нибудь здравые мысли. Спасибо.
__________________
Не сломано - не чини! |
|
|||||
Второй вариант звучит более оптимизировано, т.к. все объекты уже заранее подготовлены и остаётся их только отобразить если я всё правильно понял, но стоит ли хранить всю эту информации в памяти и вообще как часто игрок будет смотреть этот журнал (допустим сгенерировали мы кучу разных экземпляров, храним их в памяти, а игрок так ни разу и не открыл этот журнал, получается зря используем ресурсы
![]() В первую очередь в оптимизации нуждаются самые загруженные места, т.к. их исправление и даст больше всего прироста производительности.
__________________
Я заклинаю вас действовать иначе. |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Спасибо, разумно. По факту выбрал первый путь. А сам вопрос был больше теоретический. У меня пока вообще сплошные геометрические примитивы и заглушки из пакета graphics, поэтому тормозить там категорически нечему
![]()
__________________
Не сломано - не чини! |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:06. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|