Регистрация: Jan 2012
Сообщений: 836
|
Способ оптимизации и нагрузки на клиент
Всем еще раз привет. На этот раз задам достаточно сильно волнующий меня вопрос, касательно игровой карты.
Я нарисовал одну большую карту размером 3000х3500. Достаточно объемная вышла т.к весит около 18 мб. Также нарисовал объекты, которые раскидываются по всей карте(некоторые из них являются препятствием, что-то вроде стен, деревье и т.п. Собственно схема размещения её на сцене.
1) Создаю 2 спрайта контейнера. В первый я размещаю карту(обычным способом, типо из библиотеки выгружаю спрайт), во втором контейнере размещаю объекты. В итоге получаем игровую карту со всем вытекающем.
2) Перемещение работает таким образом, что двигаются контейнера с самой платформой.
Но последнее время меня стал волновать вопрос производительности, а именно насколько сильно я налажал в плане реализации. Чтобы снизить нагрузку на клиент, я уменьшил качество картинки в библиотеке примерно до 60%. Собственно вес карты стал примерно 5мбайт вместо прошлых 18, но при этом конечно пришлось пожертвовать качеством. У меня на уме было два варианта реализовать карту такого масштаба. Первый же, это как я сделал, второй, поделить всю карту на ячейки и программно с помощью цикла расставить их на сцене. Второй вариант мне не очень понравился, во-первых я без понятия на сколько частей делить эту карту, а от этого зависит и размер одной ячейки. А еще делал таким образом, переводил картинку в Bitmap и ставил smooth true, но судя по всему, на производительность это почти не повлияло. Мб знает кто еще какие варианты или кто подскажет советом, как же все таки платформы таких размеров будет правильнее размещать на сцене? Будь все намного проще, если бы карта изначально строилась из ячеек, но для этого понадобится достаточно солидный тайлсет, мне было гораздо удобнее рисовать её от руки, не заморачиваясь, что где-то швы дорог или текстур не будут несоответствовать реальности.
|