Snusmumriken
Всмысле
StiMOR
Всмысле
захожу на сайт нотепада
StiMOR
там Не удаётся установить соединение с сайтом.
StiMOR
о спс
StiMOR
рабояет он явно шустрее но там не 3мб а 40мб без вкладок
StiMOR
StiMOR
там есть пользовательские синтаксисы сразу встроенное
Snusmumriken
StiMOR
Snusmumriken
Жуть кошмар
Михаил
вирус мб?
StiMOR
вирус мб?
Я его программу взял
StiMOR
Михаил
мне кажется или в вайн он течет как сучка? 263 мб было до перезапуска
StiMOR
там есть пользовательские синтаксисы сразу встроенное
а что прикольно сделаю поддержку синтаксиса своего языка
StiMOR
Snusmumriken
мне кажется или в вайн он течет как сучка? 263 мб было до перезапуска
Есть шанс что вайн сам по себе почистит память "когда начнёт заканчиваться" а не когда реально свободно.
Snusmumriken
Сейчас такое дело, что ОС регулярно не освобождает память, ибо если что-то затребовало 100 мб а потом освободило — далеко не факт что через секунду оно снова не затребует столько же, а тут как раз готовый кусочек есть и как бы экономим на переразметках. Сам нотпад это отдельно хендлит, но не факт что это же делает вайн.
Igor
а 16гб и так не хватает для всего
Всё время существования вскода им пользуюсь и уходить никуда желания вообще нет, да и необходимости впрочем тоже. Ну и оперативы у меня в 2 раза больше, правда, и вообще прям на всё хватает. Я даже о вскоде в фоне не особо беспокоюсь, а расширений стоит прилично. Просто на втором воркспейсе висит, а когда надо что–то некодовое делать переключаюсь на другие воркспейсы. Играю, браузю, по работе приколы делаю и два–три инстанса вскода мне погоды ну вообще не портят.
Snusmumriken
Ох, тут смотря какие игрушки. Вов иногда пытается отожрать 20 гигов и упасть с no memory.
Igor
Я в него играл не так давно
Igor
Black Myth Wukong тоже любитель ОЗУ пожрать
Igor
Ну и все игры на пятом анриле в целом в ту же степь
Snusmumriken
Как же я люблю нормальных разработчиков блин. Вот есть вурфруйм а есть тфд. Тфд на пятом анрыле. Вурфруйм на своём велосипеде. Тфд тупит лагает и без графона с миллиардом апскейлеров рассыпаясь на пиксели. Вурфруйм работает в общем-то на чайниках и отлично выезжает на стилизации. И пусть баги нещадные, но основная концепция работает.
StiMOR
чето выходит
StiMOR
надо все ключевые слова и функции добавить теперь
Igor
Тут больше речь не о нормальных и ненормальных разработчиках, это условие которое свыше ставят, мол "не хотим деньги тратить на собственный движок и его поддержку, так ещё и джунов ему учить, время и деньги на это тратить, нахрен нам это надо? а вот анрил популярен, каждый геймдев с ним работал, считай, учить ничему не надо, все в выигрыше"
Igor
Ну это тогда больше исключение из правила, я б сказал
Igor
Большинство эффективных менеджеров и прочих корпорастов настолько преисполнились в своей эффективности, что не дают разработчикам свободы
Snusmumriken
Притом что особо забавно, контора некисло связана с эпиками — делали пушки для unreal 2003-2004 помнится, заколлабились с ними же в вурфруйме выпустив пачку олдовых скинов шоковой винтовки-ракетницы-флака из анрыла. Вроде должны всё на анрыле клепать. Но нет, свой велосипед — пять раз переписанный древнючий анрыл, корни уровня движка quake в source2. Что характерно, в Source2 есть крошечные хвосты оставшиеся из первой кваки 1998 года.
Snusmumriken
Ну и все игры на пятом анриле в целом в ту же степь
Мы кстати можем вспомнить тех же поляков с их ведьмаком и киберпанком. Всё ещё на своих REDengine-велосипедах, после проблем двигла neverwinter nights в первом ведьмаке.
Igor
Который сейчас в разработке
Snusmumriken
Igor
Да-да, сам опечалился, моддить REDengine было весело
Snusmumriken
Опять будет фигня которую можно запустить только в 320х480 с ии апскейлером до уровня мыла на hi-end pc
Igor
И с их скриптовым языком бороться
Igor
Опять будет фигня которую можно запустить только в 320х480 с ии апскейлером до уровня мыла на hi-end pc
Ещё и "on an unnanounced nvidia geforce rtx gpu", готовимся к таргету в 30 фпс на 4090))))
Snusmumriken
Опять будет фигня которую можно запустить только в 320х480 с ии апскейлером до уровня мыла на hi-end pc
Притом самое смешное блин что графон принципиально всё ещё блин не меняется.
Igor
Да все околофотореалистичные игры на анриле пятом плюс-минус одинаково выглядят
Snusmumriken
Как в 2013 году они выглядят, на круэнжине.
Snusmumriken
Ой отражения теперь отражают не запечёную мапу а что-то как бы отражабельное. Какая блин разница если это жрёт в сорок раз больше чем без этого с минимальным импактом и никто этого реально не заметит.
Snusmumriken
Ну вот типа да.
Igor
Ну трейлер 4го ведьмака выглядит всё таки красиво и не на 2013 год, но финальный продукт будет с текстурами в раза 2 меньше в размерности и менее физичным освещением, если повезет)) Но жрать, естественно, будет как не в себя
Михаил
у меня есть синтаксисы на KATE для своего первого ультрамегаговнояпа (futilang), луа-базированного яп (luarjit2) и одного понравившегося мне ravelang
Михаил
почти такие же точные как на си, только с некоторыми недочетами
Михаил
нотпад++ не такой универсвльный в смысле пользовательских синтаксисов
Михаил
почти такие же точные как на си, только с некоторыми недочетами
там у них в препроцессоре си еще можно видеть числа, а в комментариях подсветку TODO, FIXME, INFO и т.п.
Laimadoo
Привет, Snusmumriken и другие. Я тут спокойно, по фану пишу код, и написал так: if условие then return true end return false Кидаю и тут чел агрится, говоря, что я пишу говногод. Он предлагает такой не "говнокодный" вариант: return условие Я ему говорю, что особо ничего не меняется, просто пишу то так, то так, как взбредёт. А он всё твердит, что на скорость это влияет, потому, что в его случаи просто подсчитывается и сразу возвращается, а у меня еще и условия
Сергей
это не быстрее, это просто более читабельно
Snusmumriken
@Laimadoo во, помнишь мы разбирали slaxml и почему он быстрый?
Snusmumriken
Вот там это жесть важно, потому что оно обрабатывает документы на много сотен мегабайт, и гулять по ним просто так до конца при поиске каждого тэга — убийственно. Сколько раз же вызывается твоя функция и сколько конкретно времени сэкономит return условие относительно "лишнего if"?
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
При проверке на касание объекта: 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.
Laimadoo
@Laimadoo ты спросил парня как удалять элементы из таблички на ходу?
Он не сговорчивый. Не понимает, а зачем это мне понадобилось
Snusmumriken
Он не сговорчивый. Не понимает, а зачем это мне понадобилось
Скажи что у тебя не получается простым перебором, а другие варианты слишком переусложнённые
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} -- ^ ^
Snusmumriken
Вообще не отвечает... Пипец
Он прочитал? Если да то смотрим на крутящиеся шестерёнки в голове ))
Михаил
че там. преподаешь вайб кодинг?