Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 13.07.2012, 00:53
romzes вне форума Посмотреть профиль Отправить личное сообщение для romzes Найти все сообщения от romzes
  № 1  
Ответить с цитированием
romzes

Регистрация: Mar 2010
Сообщений: 18
По умолчанию Производительность: вызов метода объекта или изменение его публичных полей?

Я начал писать небольшой движок для игрового приложения, который хотел бы использовать впредь, расширять и модифицировать. Игра, которую я сейчас начинаю делать - двумерный платформер, основанный на тайлах. Предполагается, что будет много разных персонажей, которые перемещаются по миру, взаимодействуют с ним, взаимодействуют между собой.

Мне показалась привлекательной архитектура приложения, основанная на компонентах.

Получается, что игровой объект должен содержать экземпляры нужных ему компонентов и в своем методе update() вызывать метод update() каждого своего компонента. И каждый игровой цикл для каждого игрового объекта вызывается метод update().

Я, однако, часто встречал мнение, что вызов метода объекта работает медленнее, чем изменение его публичных полей напрямую кодом извне. Исходя из этого, не стоит каждый игровой цикл вызывать метод update() каждого объекта, а лучше изменять его поля кодом в обработке игрового цикла. Такой подход, как я понимаю, не совместим с архитектурой, основанной на компонентах.

Мне бы хотелось, чтоб персонажей в мире одновременно было достаточно много, скажем, сотня или несколько сотен, и чтоб они продолжали "жить" даже тогда, когда игрок их не видит.

Сильно ли я в таких условиях потеряю в производительности, воспользовавшись компонентной моделью и, соответственно, сильно увеличив количество вызовов методов объектов?
Может есть какой-то другой паттерн, обеспечивающий ту же гибкость в создании новых игровых объектов и стройность кода, как компонентная модель, но при этом ориентированный на производительность при работе с множеством объектов?

Буду благодарен, если подскажете мне, в каком направлении изучать этот вопрос. А то я совсем мало знаком с паттернами, применяемыми в программировании игр и с подходами к архитектуре игрового приложения.

Создать новую тему   Часовой пояс GMT +4, время: 21:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
компонентная модель , метод , паттерн , производительность , публичные поля

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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