Snusmumriken
Всмысле
StiMOR
Всмысле
захожу на сайт нотепада
StiMOR
там
Не удаётся установить соединение с сайтом.
Snusmumriken
StiMOR
о спс
StiMOR
рабояет он явно шустрее но там не 3мб а 40мб без вкладок
StiMOR
StiMOR
там есть пользовательские синтаксисы сразу встроенное
StiMOR
Snusmumriken
Snusmumriken
StiMOR
Snusmumriken
Жуть кошмар
StiMOR
Михаил
StiMOR
Михаил
мне кажется или в вайн он течет как сучка? 263 мб было до перезапуска
StiMOR
StiMOR
Snusmumriken
Snusmumriken
Сейчас такое дело, что ОС регулярно не освобождает память, ибо если что-то затребовало 100 мб а потом освободило — далеко не факт что через секунду оно снова не затребует столько же, а тут как раз готовый кусочек есть и как бы экономим на переразметках.
Сам нотпад это отдельно хендлит, но не факт что это же делает вайн.
Igor
а 16гб и так не хватает для всего
Всё время существования вскода им пользуюсь и уходить никуда желания вообще нет, да и необходимости впрочем тоже. Ну и оперативы у меня в 2 раза больше, правда, и вообще прям на всё хватает. Я даже о вскоде в фоне не особо беспокоюсь, а расширений стоит прилично. Просто на втором воркспейсе висит, а когда надо что–то некодовое делать переключаюсь на другие воркспейсы. Играю, браузю, по работе приколы делаю и два–три инстанса вскода мне погоды ну вообще не портят.
Snusmumriken
Ох, тут смотря какие игрушки. Вов иногда пытается отожрать 20 гигов и упасть с no memory.
Igor
Igor
Я в него играл не так давно
Igor
Black Myth Wukong тоже любитель ОЗУ пожрать
Igor
Ну и все игры на пятом анриле в целом в ту же степь
Snusmumriken
Как же я люблю нормальных разработчиков блин.
Вот есть вурфруйм а есть тфд. Тфд на пятом анрыле. Вурфруйм на своём велосипеде.
Тфд тупит лагает и без графона с миллиардом апскейлеров рассыпаясь на пиксели. Вурфруйм работает в общем-то на чайниках и отлично выезжает на стилизации. И пусть баги нещадные, но основная концепция работает.
StiMOR
Igor
StiMOR
надо все ключевые слова и функции добавить теперь
Igor
Тут больше речь не о нормальных и ненормальных разработчиках, это условие которое свыше ставят, мол "не хотим деньги тратить на собственный движок и его поддержку, так ещё и джунов ему учить, время и деньги на это тратить, нахрен нам это надо? а вот анрил популярен, каждый геймдев с ним работал, считай, учить ничему не надо, все в выигрыше"
Snusmumriken
Тут больше речь не о нормальных и ненормальных разработчиках, это условие которое свыше ставят, мол "не хотим деньги тратить на собственный движок и его поддержку, так ещё и джунов ему учить, время и деньги на это тратить, нахрен нам это надо? а вот анрил популярен, каждый геймдев с ним работал, считай, учить ничему не надо, все в выигрыше"
Там контора отличается велосипедописанием.
Они сейчас блин делают как бы ММО soulframe, на модифицированном своём же двигле.
Тоже идёт на чайнике. Прямщяс в збт.
Igor
Igor
Ну это тогда больше исключение из правила, я б сказал
Igor
Большинство эффективных менеджеров и прочих корпорастов настолько преисполнились в своей эффективности, что не дают разработчикам свободы
Snusmumriken
Притом что особо забавно, контора некисло связана с эпиками — делали пушки для unreal 2003-2004 помнится, заколлабились с ними же в вурфруйме выпустив пачку олдовых скинов шоковой винтовки-ракетницы-флака из анрыла. Вроде должны всё на анрыле клепать.
Но нет, свой велосипед — пять раз переписанный древнючий анрыл, корни уровня движка quake в source2.
Что характерно, в Source2 есть крошечные хвосты оставшиеся из первой кваки 1998 года.
Igor
Igor
Который сейчас в разработке
Snusmumriken
Igor
Да-да, сам опечалился, моддить REDengine было весело
Snusmumriken
Опять будет фигня которую можно запустить только в 320х480 с ии апскейлером до уровня мыла на hi-end pc
Igor
И с их скриптовым языком бороться
Igor
Snusmumriken
Igor
Да все околофотореалистичные игры на анриле пятом плюс-минус одинаково выглядят
Snusmumriken
Как в 2013 году они выглядят, на круэнжине.
Snusmumriken
Ой отражения теперь отражают не запечёную мапу а что-то как бы отражабельное.
Какая блин разница если это жрёт в сорок раз больше чем без этого с минимальным импактом и никто этого реально не заметит.
Igor
Snusmumriken
Ну вот типа да.
Igor
Ну трейлер 4го ведьмака выглядит всё таки красиво и не на 2013 год, но финальный продукт будет с текстурами в раза 2 меньше в размерности и менее физичным освещением, если повезет)) Но жрать, естественно, будет как не в себя
Михаил
Михаил
у меня есть синтаксисы на KATE для своего первого ультрамегаговнояпа (futilang), луа-базированного яп (luarjit2) и одного понравившегося мне ravelang
Михаил
почти такие же точные как на си, только с некоторыми недочетами
Михаил
нотпад++ не такой универсвльный в смысле пользовательских синтаксисов
Laimadoo
Привет, Snusmumriken и другие. Я тут спокойно, по фану пишу код, и написал так:
if условие then
return true
end
return false
Кидаю и тут чел агрится, говоря, что я пишу говногод.
Он предлагает такой не "говнокодный" вариант:
return условие
Я ему говорю, что особо ничего не меняется, просто пишу то так, то так, как взбредёт. А он всё твердит, что на скорость это влияет, потому, что в его случаи просто подсчитывается и сразу возвращается, а у меня еще и условия
Сергей
это не быстрее, это просто более читабельно
Snusmumriken
Привет, Snusmumriken и другие. Я тут спокойно, по фану пишу код, и написал так:
if условие then
return true
end
return false
Кидаю и тут чел агрится, говоря, что я пишу говногод.
Он предлагает такой не "говнокодный" вариант:
return условие
Я ему говорю, что особо ничего не меняется, просто пишу то так, то так, как взбредёт. А он всё твердит, что на скорость это влияет, потому, что в его случаи просто подсчитывается и сразу возвращается, а у меня еще и условия
Можно ещё понтовее:
return not not условие
На скорость это особо не влияет. А учитывая что вы скорее всего не пишете чего-то сверх хай перформанс, на подобное в целом пофигу.
Snusmumriken
@Laimadoo во, помнишь мы разбирали slaxml и почему он быстрый?
Snusmumriken
Вот там это жесть важно, потому что оно обрабатывает документы на много сотен мегабайт, и гулять по ним просто так до конца при поиске каждого тэга — убийственно.
Сколько раз же вызывается твоя функция и сколько конкретно времени сэкономит return условие относительно "лишнего if"?
Laimadoo
Snusmumriken
Так что лучше покажи ему код типа
local function removeElements(t, func)
local i = 1
while t[i] do
if func(t[i], i) then
table.remove(t, i)
else
i = i + 1
end
end
return t
end
local t = {}
for i = 1, 1000 do
t[i] = math.random(100)
end
removeElements(t, function(v, i) return v % 2 == 0 end)
И посмотри, заагрится ли он на него.
Snusmumriken
А лучше предложи ему написать штуку которая будет проходить по таблице-массиву и удалять из неё элементы.
Snusmumriken
Это базовый тест на понимание происходящего, и тут можно покакать примерно тремя способами:
— Сделать наивный не работающий вариант,
— Сделать работающий но дико медленный (o)n^2 в худшем случае,
— Работающий и чуть менее медленный (o) log(n) в худшем случае
— И сделать быстрый (o) n.
Snusmumriken
Покажи какой вариант он предложит ))
Snusmumriken
Snusmumriken
При проверке на касание объекта:
function rect.istouch(rect, x, y)
local rw, rh = rect.width, rect.height
local rx, ry = rect.x, rect.y
if
x >= rx-rw/2 and x <= rx+rw/2 and
y >= ry-rh/2 and y <= ry+rh/2
then
return true
end
return false
end
Кста-а-а-ати, для того чтобы это было прям гига оптимизированным, нужно вообще убрать деления и минимизировать вычисления.
function rect.istouch(rect, x, y)
local rx, ry = rect.x, rect.y
local hw = rect.width * 0.5
local hh = rect.height * 0.5
return x >= rx - hw
and x <= rx + hw
and y >= ry - hh
and y <= ry + hh
end
На деления и повторные вычисления он не заагрился? А почему? Они жрут больше чем лишний if.
Snusmumriken
Laimadoo
Laimadoo
Snusmumriken
Скажи что у тебя не получается простым перебором, а другие варианты слишком переусложнённые
Дай ему вот такое:
local t = {1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11}
Скажи что это падает:
for i = 1, #t do
if t[i] % 2 == 0 then
table.remove(t, i)
end
end
А это неправильно удаляет, пропуская элементы под удаление идущие подряд:
for i, v in ipairs(t) do
if t[i] % 2 == 0 then
table.remove(t, i)
end
end
print(require'inspect'(t)) --> {1, 2, 3, 5, 7, 7, 9, 10, 11}
-- ^ ^
Laimadoo
Дай ему вот такое:
local t = {1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11}
Скажи что это падает:
for i = 1, #t do
if t[i] % 2 == 0 then
table.remove(t, i)
end
end
А это неправильно удаляет, пропуская элементы под удаление идущие подряд:
for i, v in ipairs(t) do
if t[i] % 2 == 0 then
table.remove(t, i)
end
end
print(require'inspect'(t)) --> {1, 2, 3, 5, 7, 7, 9, 10, 11}
-- ^ ^
Вообще не отвечает... Пипец
Михаил
че там. преподаешь вайб кодинг?