Вторник, 26 Ноября 2024, 02:15

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Рисование только тех объектов, что на экране
Loko™Дата: Вторник, 24 Июля 2012, 19:36 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Как можно "разгрузить" систему и повысить быстродействие?
Вот к примеру при создании многих спрайтов в разных частях уровня - игра начинает тормозить, даже если эти спрайты - далеко от экрана.
Как сделать, чтобы рисовались только те объекты, что на экране?

p.s. мне pyatnica70rus написал по этому вопросу, но я не понял как это реализовать:
Есть карта - массив. Объекты - тоже. (у меня так)
У игрока есть позиция. С помощью координат вычисляешь зону считывания -> рисуешь


Ghost Quest - 2D платформер в стиле 2D платформеров
[Статья] Создаем 2D платформер а-ля Ghost Quest
[Статья] Реализовываем вис на крюке/платформе
PalmarДата: Вторник, 24 Июля 2012, 19:41 | Сообщение # 2
Pλlmar Games
Сейчас нет на сайте
Есть один небольшой наркоманский способ, не знаю, повлияет ли на производительность, но сделать что то типо проверки:
IF object is on screen => Make visible
IF object isn't on screen => Make invisible


Loko™Дата: Вторник, 24 Июля 2012, 19:43 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
Пробовал. Так просто объекты становятся невидимыми.

Ghost Quest - 2D платформер в стиле 2D платформеров
[Статья] Создаем 2D платформер а-ля Ghost Quest
[Статья] Реализовываем вис на крюке/платформе
PalmarДата: Вторник, 24 Июля 2012, 22:11 | Сообщение # 4
Pλlmar Games
Сейчас нет на сайте
Quote (Loko™)
Пробовал. Так просто объекты становятся невидимыми.

Ну дык так и должно быть. Только не факт что это снижает нагрузку. Надо будет проверить happy


Loko™Дата: Вторник, 24 Июля 2012, 23:53 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Palmar, это не снижает нагрузку, я уже проверял.

Ghost Quest - 2D платформер в стиле 2D платформеров
[Статья] Создаем 2D платформер а-ля Ghost Quest
[Статья] Реализовываем вис на крюке/платформе
tvmerdДата: Среда, 25 Июля 2012, 00:20 | Сообщение # 6
участник
Сейчас нет на сайте
Loko™, у констракта много подводных камней - я сам со своей игрой фигово мучаюсь с оптимизацией
Решить этот вопрос сложно sad
boymoveДата: Среда, 25 Июля 2012, 02:36 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Quote (Loko™)
Как сделать, чтобы рисовались только те объекты, что на экране?

по умолчанию это уже реализовано в программе, ищите другие способы оптимизации.



Моя первая поделка
Моя вторая поделка
AlttarBoyДата: Среда, 25 Июля 2012, 04:55 | Сообщение # 8
почетный гость
Сейчас нет на сайте
http://gcup.ru/forum/39-20384-1
вот прамер, как раз на массиве
Loko™Дата: Среда, 25 Июля 2012, 11:55 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
AlttarBoy, в твоем примере работает все четко, без тормозов и т.п. Но как это реализовать?

Добавлено (25.07.2012, 11:55)
---------------------------------------------
AlttarBoy, исходник не открывается. Пишет, что он был реализован на более старой версии


Ghost Quest - 2D платформер в стиле 2D платформеров
[Статья] Создаем 2D платформер а-ля Ghost Quest
[Статья] Реализовываем вис на крюке/платформе
allxumukДата: Среда, 25 Июля 2012, 12:03 | Сообщение # 10
старожил
Сейчас нет на сайте
Quote (Loko™)
AlttarBoy, исходник не открывается. Пишет, что он был реализован на более старой версии

Эм... может на более новой? У тебя r2 версия (самая последняя)?

AlttarBoy, я наверное ослеп, но по ссылке "исходник", исходника нет wacko


Любой дурак может написать программу, которую поймёт компилятор.
Хорошие программисты пишут программы, которые смогут понять другие программисты.
AlttarBoyДата: Среда, 25 Июля 2012, 12:39 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Ой)) вот
сама основа - это 2-е и 5-е события
первое в начале создает определенное количество "блоков" из которых и будет строится мир (копии одного и того же объекта)
в о втором событии происходит проверка, если ГГ прошел на расстояние в 1 блок, то все блоки смещаются и меняют кадр анимации
Loko™Дата: Среда, 25 Июля 2012, 13:54 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
allxumuk, ох, я даже и не знал, что r2 вышла, ориентировался по русскому сайту ScirraConstruct, где последняя r1.2
Уже скачиваю

Добавлено (25.07.2012, 13:54)
---------------------------------------------
AlttarBoy, столкнулся с проблемой, что я тупой. У тебя все реализовано классно, но боюсь, что мне это не понять. Буду искать другие решения проблемы =)


Ghost Quest - 2D платформер в стиле 2D платформеров
[Статья] Создаем 2D платформер а-ля Ghost Quest
[Статья] Реализовываем вис на крюке/платформе
RamilyanamanaДата: Четверг, 23 Августа 2012, 06:38 | Сообщение # 13
Биззи Джей Ужасный
Сейчас нет на сайте
Я точно не уверен.. но есть вроде в настройках проекта такая штучка Framerate Mode там можно выбрать один из трех вариантов OFF, Unlimited и V-Sync. попробуй выбрать унлимитед кол-во фпс повысится. я канеш не знаю повлияет или нет это на оптимизацию, но мало ли smile


Shevron_7Дата: Четверг, 23 Августа 2012, 08:29 | Сообщение # 14
маньяк-бомбист
Сейчас нет на сайте
Я конечно не спец в скире, но могу сказать что нужно деактивировать все объекты что находятся вне вида.
(взял из ГМ) smile


TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
doongboДата: Четверг, 23 Августа 2012, 09:27 | Сообщение # 15
почетный гость
Сейчас нет на сайте
Вот придумал такой вот способ smile
Задаем главному герою поведение LineOfSight, ставим видимость например 1000.
Пишем такое вот:


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

Добавлено (23.08.2012, 09:27)
---------------------------------------------
А вот интересно, если особо большие/с эффектами/и тд спрайты удалять когда они не на экране, поможет ли это производительности? Хотя можно сейчас проверить)

Значит так, создал я тут навороченный спрайт с эффектами блюра, когда я находился рядом с ним, фпс падал до 35-40. Задал коллизию на уничтожение спрайта фпс поднялся до 60.
Quote (Loko™)
Вот к примеру при создании многих спрайтов в разных частях уровня - игра начинает тормозить, даже если эти спрайты - далеко от экрана.

значит удаляй их когда они вне экрана =)
Хотя нет! Сделал тоже самое но поставил инвизибле при коллизии, и фпс поднялся до 60!!!
Теперь к примеру на картинке, можно быстренько подставить особые спрайты которые нужно "тушить" и фпс должен подняться!

Или еще лучше и быстрее. Склепать все спрайты которые нужно деактивировать в одну семью!



В Terrain добавляем все спрайты которые нужно сделать невидимыми.
И такими вот двумя строчками тушим свет вне экрана.


"Чучундрия. Забранные"

Сообщение отредактировал doongbo - Четверг, 23 Августа 2012, 10:54
voltermagДата: Четверг, 23 Августа 2012, 19:22 | Сообщение # 16
постоянный участник
Сейчас нет на сайте
Сделай беспаливную смену лайаутов, чтобы менялись уровни путём телепортации и сохранения координат( я так сделал на микрогене, очень оптимизировало), а игрок будет думать, что он до сих пор на первом уровне)

Подсказки в ААА играх:
Чтобы убить - стреляйте
Чтобы не убить - не стреляйте
Подсказки в Инди играх:
ыаа ыбб беб ыб
MarkoffkaДата: Четверг, 23 Августа 2012, 20:18 | Сообщение # 17
Pixel Logic
Сейчас нет на сайте
можно реализовать через Translites
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг