A-tit indd


Пул объектов (Object Pool) —  Паттерны программирования игр



Download 3,35 Mb.
Pdf ko'rish
bet284/313
Sana05.06.2022
Hajmi3,35 Mb.
#638392
1   ...   280   281   282   283   284   285   286   287   ...   313
Bog'liq
Nistrem R. Patterni programmirovaniya igr-1

390
Пул объектов (Object Pool) — 
Паттерны программирования игр
Лучшее из двух миров
Из-за фрагментации и того, что выделение памяти мо-
жет быть медленным, производители игр очень акку-
ратны с тем, где и когда они выделяют память. Простое 
решение обычно является лучшим —
зарезервиро-
вать большой фрагмент памяти в момент запуска игры 
и не освобождать его, пока из игры не выйдут. Хотя это 
головная боль для системы, которой тоже надо созда-
вать и уничтожать объекты, пока игра запущена.
Пул объектов позволяет нам взять все лучшее из двух 
миров. Для менеджера памяти мы выделяем один боль-
шой фрагмент в начале и не освобождаем его, пока игра 
в процессе. Для пользователей пула мы можем свобод-
но выделять и освобождать память сколько душе угодно.
Паттерн
Объявляет класс 
пула
, поддерживающий набор о
бъ-
ектов, которые можно обрабатывать несколько раз

Каждый объект поддерживает 
запрос «используется»

чтобы сообщить: объект «жив». Когда пул инициализи-
руется, он сразу создает всю коллекцию объектов (обыч-
но одним выделением непрерывной памяти) и инициа-
лизирует их в состояние «Не используется».
Когда вам нужен новый объект, вы запрашиваете его 
у пула. Он находит доступный объект, инициализирует 
его в состояние «Используется» и возвращает его. Когда 
объект больше не нужен, он возвращается в состояние 
«Не используется». Таким образом объекты могут созда-
ваться и уничтожаться без необходимости выделения 
памяти или других ресурсов.
Когда использовать
Данный паттерн широко используется в играх и для оче-
видных целей вроде сущностей игры или визуальных эф-
фектов, и для менее заметных структур данных, таких 
Большинство произво-
дителей консолей тре-
буют, чтобы игры прохо-
дили тесты на «утечку 
памяти» путем запуска 
игры в деморежиме 
на несколько дней. Если 
игра падает, ей не по-
зволяют выйти в про-
дажу. И хотя тесты 
на утечку памяти иногда 
проваливаются из-за 
другой ошибки, обычно 
причиной все же явля-
ется фрагментация па-
мяти, которая и приво-
дит игру к падению.



Download 3,35 Mb.

Do'stlaringiz bilan baham:
1   ...   280   281   282   283   284   285   286   287   ...   313




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish