Size: a a a

2021 October 29

S

Snusmumriken in pro.lua
И объявлять что-то глобальное в модулях — это плохо, потому что загаживает пространство имён, может коллидировать и путать тебя. Делай локальные таблички с функциями и возвращай, реквайрнешь модуль ровно в том месте где тебе надо, используешь функции из конкретного места, а ссылка на него потом соберётся мусорщиком и не будет мешаться.
источник

RM

Roy Mustang in pro.lua
Я не могу догнать, как тогда луаджит юзают в геймдеве если там любое обращение к функциям из другого файла - это хеш таблица.
Как не крути, но в хорошей игре очень много вызовов lua происходит и каждый вызов по сути сопровождается дрочью хеш таблиц
источник

RM

Roy Mustang in pro.lua
Я читал, что мол для производительности нужно все пихать в один файл
источник

RM

Roy Mustang in pro.lua
ну или хотя бы минимизировать этот момент с обращением к нелокальным функциям
источник

S

Snusmumriken in pro.lua
Легко.
источник

S

Snusmumriken in pro.lua
Всё очень просто. Игровая логика как правило не требует дикой производительности.
Дикая производительность в геймдеве требуется для:
1. Перегонки кучи данных на видяху
2. Рендеринга (+отсечения невидимого всякие)
3. Часть матана, если он нужен в данной конкретной игре

Всё остальное обычно не требует.
источник

RM

Roy Mustang in pro.lua
Так в том то и прикол, что пока мы вызываем луа скрипты - мы теряем время
источник

RM

Roy Mustang in pro.lua
Потому что можем не успеть скормить картинку рендеру
источник

S

Snusmumriken in pro.lua
Пока мы гоняем сишный код — мы теряем время. Потому что можем не успеть скормить картинку рендеру.
источник

S

Snusmumriken in pro.lua
источник

S

Snusmumriken in pro.lua
Смотри, это написано на луа. И это двухмерный фреймворк.
источник

S

Snusmumriken in pro.lua
Тут где-то 10к объектов, тоже написано на луа, и они крутятся. И это тоже двухмерный фреймворк который не умеет в 3д.
источник

RM

Roy Mustang in pro.lua
Ну это же не отменяет того, что хеш таблица дрочиться
источник

S

Snusmumriken in pro.lua
И в чём проблема?
источник

RM

Roy Mustang in pro.lua
Ну при большом объеме кода луашного будет много обращений к хеш таблице для поиска
источник

S

Snusmumriken in pro.lua
Ну и что?
источник

RM

Roy Mustang in pro.lua
Просадку не даст думаешь?
источник

S

Snusmumriken in pro.lua
Ты не туда воюешь.
источник

RM

Roy Mustang in pro.lua
в совокупности
источник

S

Snusmumriken in pro.lua
Во-первых, в определённых местах никто не мешает делать массивы.
Во-вторых, проблемой становится не хеш таблица, а именно сборщик мусора, если ты переразмечаешь память. Поиск по хешу — гораздо более быстр чем разметка и удаление табличек без необходимости, например, чем грешат куча разработчиков.
источник