оптимизация (Помощ в тестировании)
|
|
AlttarBoy | Дата: Среда, 01 Февраля 2012, 12:40 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Не давно пришла идея как по новому оптимизировать большое кол-во плиток на уровне, теперь все происходит без создания\удаления "блоков" т.к. прошлый вариант у многих жутко лагал прошу проверить этот, и отписаться по поводу производительности
размер уровня 50000х50000пкс (1000х1000 блоков) Скачать
Исходник
Основной принцип в том, что спрайты постоянно не пересоздаются и не удаляются, а некоторое их количество движется за ГГ, и в нужное время меняют кадр анимации
З.Ы. остаётся лишь прикрутить генерацию, и собственная террария готова)
Сообщение отредактировал AlttarBoy - Пятница, 03 Февраля 2012, 18:22 |
|
| |
Demeron | Дата: Среда, 01 Февраля 2012, 14:08 | Сообщение # 2 |
User created in C++
Сейчас нет на сайте
| Лагов не заметил, но заметил баг, что герой может вылазить за пределы экрана, а если очень далеко вылазить, то тайлы пропадают, а на их месте просто белый цвет.
|
|
| |
AlttarBoy | Дата: Среда, 01 Февраля 2012, 14:11 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| спс) Quote (Demeron) за пределы экрана, а если очень далеко вылазить, то тайлы пропадают, а на их месте просто белый цвет это не баг, просто надо будет ограничить героя, а "пустота" в целях экономии ресурсов ПК
|
|
| |
HekreD | Дата: Среда, 01 Февраля 2012, 14:22 | Сообщение # 4 |
был не раз
Сейчас нет на сайте
| Лаги отсуствуют.
|
|
| |
boymove | Дата: Среда, 01 Февраля 2012, 14:32 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| у меня всё работает шустро (это надо проверять на слабых машинах )
Моя первая поделка Моя вторая поделка
|
|
| |
AlttarBoy | Дата: Среда, 01 Февраля 2012, 19:54 | Сообщение # 6 |
почетный гость
Сейчас нет на сайте
| Всем спасибо) будем считать что работает нормально)
|
|
| |
Sanches | Дата: Среда, 01 Февраля 2012, 20:37 | Сообщение # 7 |
участник
Сейчас нет на сайте
| AlttarBoy, полагаю, ты не просто скрывал объекты не большом рассточнии от ГГ) Всё идёт без лагов, значит оптимизация работает. Кстати, такой движок очень бы подошёл для создания РПГ (TDS или изометрических). Если мир сохраняется в отдельный файл, то лагать не должно и при 10000х10000 блоках) Только файл такого мира будет весить около 2Гб
|
|
| |
AlttarBoy | Дата: Четверг, 02 Февраля 2012, 13:44 | Сообщение # 8 |
почетный гость
Сейчас нет на сайте
| Sanches, вот мне и пришла идея повременить с Pixellate2, а сделать зомби шутер, эдакое вживание в большом городе после заражения Добавлено (02.02.2012, 13:44) --------------------------------------------- )) Sanches, ну можно и 10000х10000) даже интересно за сколько такой городок можно нарисовать, начал потихоньку, за весь вечер примерно ~50х50 накидал
|
|
| |
Kanske | Дата: Пятница, 03 Февраля 2012, 13:07 | Сообщение # 9 |
был не раз
Сейчас нет на сайте
| Всё шустро пашет.
|
|
| |
login1k | Дата: Пятница, 03 Февраля 2012, 17:47 | Сообщение # 10 |
участник
Сейчас нет на сайте
| Не мог бы ты выложить .cap файл твоей оптимизации или вкратце описать события, с помощью которых добился этого? Спасибо
|
|
| |
romgerman | Дата: Пятница, 03 Февраля 2012, 18:22 | Сообщение # 11 |
старожил
Сейчас нет на сайте
| Всё отлично работает!
|
|
| |
AlttarBoy | Дата: Пятница, 03 Февраля 2012, 18:28 | Сообщение # 12 |
почетный гость
Сейчас нет на сайте
| кстати начал делать ИИ зомби, и столкнулся с новой проблемой, поведение RTS создает свою сетку перемещений до открытия основного окна, а в данном случае уровень 50000х50000, т.е. запустилась она через секунд 20!, с жуткими лагами, теперь думаю как это можно исправить
|
|
| |
Sanches | Дата: Пятница, 03 Февраля 2012, 19:23 | Сообщение # 13 |
участник
Сейчас нет на сайте
| Если лагает только при старте уровня (и ещё какое-то время, главное чтобы потом переставало), то можно делать экран загрузки (не очень понимаю как), ведь в больших играх именно для подобных вещей загрузка и делается. Ещё вариант - делать без RTS (Custom Movement + много событий)
|
|
| |
AlttarBoy | Дата: Суббота, 04 Февраля 2012, 13:21 | Сообщение # 14 |
почетный гость
Сейчас нет на сайте
| Sanches, да делаю старым дедовским способом, (Bullet+Turret)
|
|
| |
Sanches | Дата: Суббота, 04 Февраля 2012, 15:02 | Сообщение # 15 |
участник
Сейчас нет на сайте
| Эмм... Это каких дедов способ? Последнее, что пришло бы мне в голову при надобности сымитировать RTS Хотя, может и нормально работать будет.
Появился ещё вариант - если сделать уровень по размерам немного больше игрового окна (если окно 800х600, то уровень, к примеру, 1000х800) Персонаж всегда находится в центре уровня, а сам уровень скроллится в сторону, обратную стороне движения, одновременно из файла загружаются данные об объектах, которые находятся на расстоянии 500 по Х и 400 по Y от персонажа, таким образом сетка для RTS не будет слишком большой.
|
|
| |
AlttarBoy | Дата: Суббота, 04 Февраля 2012, 15:08 | Сообщение # 16 |
почетный гость
Сейчас нет на сайте
| Sanches, а ведь классная идея , спс, буду думать
|
|
| |
Sanches | Дата: Суббота, 04 Февраля 2012, 16:18 | Сообщение # 17 |
участник
Сейчас нет на сайте
| AlttarBoy, посмотрел исходник - да ты прям специально для моей идеи его и делал) Просто если кадр анимации равен 1 - делаешь объект твёрдым, когда 2 - убираешь твёрдость (для примера). По сути у тебя и используется эта система, только нужно кое-что немного изменить
|
|
| |
vknw123 | Дата: Суббота, 31 Марта 2012, 23:33 | Сообщение # 18 |
старожил
Сейчас нет на сайте
| Скажите. Вот если Главный герой в платформере один, то его можно наверно расклонировать вместе с событиями и музыкой, на все уровни?
|
|
| |
yarickyarick | Дата: Воскресенье, 01 Апреля 2012, 00:16 | Сообщение # 19 |
Маленький лицемер
Сейчас нет на сайте
| По сути, да...
|
|
| |
vknw123 | Дата: Воскресенье, 01 Апреля 2012, 00:22 | Сообщение # 20 |
старожил
Сейчас нет на сайте
| А не, только что посмотрел, кажется события и спрайты не клонируются, только копируются. Клонируются только уровни, только я ещё не пробовал. Никак не пойму. Но один и тотже ГГ на всех уровнях. Наверно какой прибамбас есть?
|
|
| |