Game Maker - создание игр | HellRoom Games
Февраль 25, 2017, 05:22:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Обновлены разделы форума: Вопросы по GameMaker: Studio и создан статьи с уроками по GameMaker: Studio
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Основы оптимизации  (Прочитано 15131 раз)
0 Пользователей и 1 Гость смотрят эту тему.
skypo
GM Pro user
*

Репутация: 56
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
500 сообщений!За постоянность! [50 дней на форуме]
API: GameMaker Studio Pro
Сообщений: 754


WWW
« Ответ #15 : Январь 17, 2013, 14:03:36 »


Сильно сомневаюсь (практически уверен, что не), что этот движок с примерами по нему вообще пойдет под GMS.
Надо будет посмотреть айдишники в танкисте.
Записан
MusNik
KeeVee Games
GM Pro user
*

Репутация: 710
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]За отличную игру Rock painting story!За помощь в развитии форума!За отличные статьи по Game Maker!...
API: GameMaker Studio 2
Сообщений: 3182


Tiny Alien :3


WWW
« Ответ #16 : Январь 17, 2013, 19:29:23 »

GMS очищает айдишники после перезагрузки.
Записан

likstalkera
Участник
****

Репутация: 22
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

API: Game Maker 8.0 Pro
Деятельность: Создаю игры жанра RPG
Сообщений: 247

Делаю все так, чтобы было красиво.


« Ответ #17 : Январь 31, 2013, 02:34:51 »

Если записывать код из шага в рисование, то сильно ли это повлияет на производительность?
Записан



Не забываем ставить респект)
Dmi7ry
Гл. Администратор
*

Репутация: 1184
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 5529



WWW
« Ответ #18 : Январь 31, 2013, 05:39:38 »

Если записывать код из шага в рисование, то сильно ли это повлияет на производительность?
От перестановки переменных сумма не меняется. События всего лишь определяют порядок выполнения кода, производительность от этого не поменяется.
Другое дело, что при этом нужно довольно чётко понимать, что мы делаем. Например, изменение координат других объектов в draw может привести к непредсказуемым дёрганиям спрайтов.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
nectarine
Новичок
*

Репутация: 0
Offline Offline

Russian Federation Russian Federation

API: GameMaker Studio
Деятельность: noobdev
Сообщений: 6

enjoy


« Ответ #19 : Февраль 15, 2013, 03:42:17 »

Спасибо за статью, очень познавательно :)

В связи с прочитанным, у меня такой вопрос: допустим, нужно нарисовать гуй, в котором довольно много кода получится в событии draw. Что будет быстрее, оставить весь код draw в одном объекте, контролирующем гуй (в котором помимо draw есть и другие события), или же вынести код draw в, скажем, 100500 1-2 дополнительных объекта, в которых кроме draw ничего не будет?
P.S. код из draw иногда обращается к значениям переменных внутри других событий.
Записан

rand(0,3)
skypo
GM Pro user
*

Репутация: 56
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
500 сообщений!За постоянность! [50 дней на форуме]
API: GameMaker Studio Pro
Сообщений: 754


WWW
« Ответ #20 : Февраль 15, 2013, 08:25:18 »

Спасибо за статью, очень познавательно :)

В связи с прочитанным, у меня такой вопрос: допустим, нужно нарисовать гуй, в котором довольно много кода получится в событии draw. Что будет быстрее, оставить весь код draw в одном объекте, контролирующем гуй (в котором помимо draw есть и другие события), или же вынести код draw в, скажем, 100500 1-2 дополнительных объекта, в которых кроме draw ничего не будет?
P.S. код из draw иногда обращается к значениям переменных внутри других событий.

меньше объектов - лучше.
в draw лучше ничего помимо собсно отрисовки не держать (т.е. все расчеты - в step'ах).
в случае ГУИ можно обойтись без объектов вообще - сделать тайлами и организовать их замену через скрипт
Записан
Briginas
-_-
Главный Модератор
*

Репутация: 626
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!1 место в конкурсе Адекватные игры #3 [Антиутопия]2 место на HellRoom Jam #4, Ancient Egypt...
API: GameMaker Studio Master
Деятельность: Gamedev.
Сообщений: 2033



« Ответ #21 : Март 14, 2013, 15:48:29 »

Интересует такой вопрос. Какой вариант лучше в плане оптимизации?

Код: (1 Вариант)
if a = b {c += d}

Код: (2 Вариант)
c += d*(a = b)

С виду кажется, что второй вариант более оптимизованный, но:
В первом варианте действие с переменной выполняется только если условие истинно, во втором же выполняется и условие, и действие переменной, не зависимо от условия (к переменной каждый шаг прибавляется 0).


И второй вопрос.
Есть ли разница использования + и * вместо || и && ?
Код: (1 Вариант)
if (a = b) + (c = d) {e += f}

Код: (2 Вариант)
if (a = b) || (c = d) {e += f}
Т.к. любое число выше 0.5 возвращает true, то условие истинно, но есть ли разница со вторым вариантом? Аналогичный вопрос с && и *
Записан

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

Fantom
I am... All of me
Гл. Администратор
*

Репутация: 1311
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Деятельность: Experienced Programmer
Сообщений: 5035



« Ответ #22 : Март 14, 2013, 16:25:01 »

1. Первое лучше, и читается удобнее, чем второй вариант. Следуя второму варианту, рано или поздно появятся такие выражения, в которых не будет понятно, где "главное" равно, а где складываемые (или где левая часть выражения, а где правая) errm
Во втором варианте тоже используется сравнение, как и в первом, поэтому у первого меньше нагрузка.
(к переменной каждый шаг прибавляется 0).
Еще и умножение выполняется. Одна-две операции в первом варианте против трех во втором.

2. || - логическое сложение, && - логическое умножение. Разница в слове "логическое"
В приведенных примерах (и с умножением если тоже привести) разницы в результате нет, но практика таких выражений опять же может привести к запутыванию кода (обфускация, с одной стороны плюс, с другой минус) и к привыканию. Одно дело - GML это спокойно принимает, другое дело - другие языки не смогут, разрешая выполнять только логические операции с логическими переменными, и ожидая только логическую переменную после if.
Записан

Briginas
-_-
Главный Модератор
*

Репутация: 626
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
2000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]Настоящий игродел!1 место в конкурсе Адекватные игры #3 [Антиутопия]2 место на HellRoom Jam #4, Ancient Egypt...
API: GameMaker Studio Master
Деятельность: Gamedev.
Сообщений: 2033



« Ответ #23 : Март 14, 2013, 16:46:46 »

Понятно, значит лучше использовать "классические" методы.
Как я понял
Код:
if a = b {c = d} else {c = 0}
Будет так же выполняться быстрее, чем
Код:
c = d*(a = b)
Ведь else не является сравнением, а всего лишь выполняется при ложном значении условия. Я прав?
Записан

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

AlexBel
Участник
****

Репутация: 23
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

API: GameMaker Studio Pro
Деятельность: Квест
Сообщений: 190



WWW
« Ответ #24 : Февраль 02, 2016, 14:01:05 »

Привет всем!

Думаю, было бы хорошо включить в эту тему рекомендации по выбору разрешения для игры и масштабирования с точки зрения производительности.
Например, если планируется работа игры на разных разрешениях экрана (например, на Android), то как следует подойти к выбору размера комнат? Если при масштабировании картинка увеличивается, то как это скажется на производительности? Или как скажется уменьшение? В какой-то из тем обсуждение данного вопроса встречал, но сейчас не могу найти.

Не сочтите за некропостинг, думаю, вопрос имеет прямое отношение к теме и создавать новую нет смысла.
Записан

Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  

Vendet | HellRoom Games © 2006-2017 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines