Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 30 Января 2015 Это популярное сообщение. Поделиться Опубликовано 30 Января 2015 (изменено) Судя по регулярно происходящему в других темах - таки нужна.Вот здесь как раз можете спросить про "зачем создали эту тему ?" А также про ООП, про как заниматься моддингом и его устарелости неустарелости, кто как его себе представляет и т.д. В общем, для много слов "обо всем". Что в более специализированные темы не лезет, но поговорить давно хотелось и хочется. Но таки да, пп 2.0, 2.1 и даже 2.5 правил здесь вполне таки действуют. Изменено 30 Января 2015 пользователем Dennis_Chikin 5 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
UnLoaded 313 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 Цитата Уважаемые... Наверное, многие сталкивались с необходимостью изменить аи-сетку. Собственно при работе с уже существующим спавном - помогает universal_acdc -update. А что делать со скриптовым create()? Вариант - переснимать координаты - не подходит, ибо когда таких объектов 100 - это еще реально. А вот когда 9000 - это жестоко. Кто нибудь пытался облегчить решение этой проблемы со стороны движка? Сначала с пеной у рта доказывали всем, что all.spawn - жуткое зло, и только скриптовый спавн спасет всех от этого кошмарного пережитка, доставшегося нам от ПЫСов. А теперь: "... когда 9000 - это жестоко". Мда... Хотя, уже давно как-бы разобрались, что при скриптовом спавне движок использует только координаты и гейм-вертекс, по которому определяет локацию на которой спавнить. А левел-вертекс ему пофиг... Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 9000 одних только курьеров неписей - вот в олспавне им самое место, да. (+хотя-бы один ствол, +пачка патронов, +фонарик) == 36000 объектов. Я не знаю, прочитается ли этот олспавн чем-нибудь вообще как файл, но вот запустится ЭТО - вряд-ли. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 (изменено) @Dennis_Chikin, что такое аллспавн - это геймграф 95% и 5 % спавн (ЗП) - не вижу проблем. Хотя 65000 объектов никогда не спавнил. Это же напрямую оператива и буфер обмена. Чем массивнее железо, тем больше шансов проскочить момент ступора (до 4Г - ЗП и 2Г - ТЧ - дальше все равно кирдык). Изменено 20 Августа 2017 пользователем Дизель Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 (изменено) 15 часов назад, UnLoaded сказал: А левел-вертекс ему пофиг... -1 предполагается? Изменено 20 Августа 2017 пользователем Дизель Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 В ЗП под id объекта отведено 32 бита ? Ну а в ТЧ - 16. Кроме неписей наверняка есть живность и всякие костры/лампочки... Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Expropriator 2 118 Опубликовано 27 Августа 2017 Поделиться Опубликовано 27 Августа 2017 (изменено) https://www.youtube.com/watch?v=PGrwjtUOpps Сейчас только на видео заметил в Нео Аксис движке есть солнечные лучи. А движок не выше dx9? Прикольно, но почему в сталкере лучи появились с dx10? Сам и отвечу: Фаркрай-3 dx9 - есть солнечные лучи. Логично, что в ТЧ можно было добавить лучи, даже не прибегая к таким правкам как в Лост-Альфа. Изменено 27 Августа 2017 пользователем Дизель Ссылка на комментарий
AndreySol 215 Опубликовано 1 Сентября 2017 Поделиться Опубликовано 1 Сентября 2017 Спрошу тута: для чего нужен в движке xrSE_Factory.dll ? Ссылка на комментарий
Expropriator 2 118 Опубликовано 19 Сентября 2017 Поделиться Опубликовано 19 Сентября 2017 (изменено) Никаво себе рендер на dx9. Звезда в шоке. Спрашивается - зачем делали dx10. Тестирую двиг бесплатный. Лучи солнца и бампы появились с dx9. А что принёс dx10 - капли дождя? И то не факт, что это не было в dx9. Короче, разрабы Сталкера нас развели с dx10 по полной. Смыла не вижу в нём, они и dx9 до ума не довели. Траки гусениц (пиксельный шейдер) появились еще наверно с dx8 или dx3 - мимо. А кому это надо? Если надо было бы реализовали. Полуфабрикат x-ray. Изменено 19 Сентября 2017 пользователем Дизель Ссылка на комментарий
Zagolski 74 Опубликовано 20 Сентября 2017 Поделиться Опубликовано 20 Сентября 2017 Ну хотя бы то, что на дх10 и выше текстуры хранятся в видеопамяти разгружая оперативную. Ссылка на комментарий
Expropriator 2 118 Опубликовано 20 Сентября 2017 Поделиться Опубликовано 20 Сентября 2017 @Zagolski , спорная ситуация. Зачем хранить в видеопамяти - она стоит дороже. Или там что то с быстротой реакции лучше. Оптимизировать надо лучше локации и не надо так извращаться с текстурами. Опять мой любимый ФарКрай 3 вспомним dx9 и остров (даже два), как вся трилогия Сталкера в кучу - тянет и не пищит. Ссылка на комментарий
Zagolski 74 Опубликовано 25 Сентября 2017 Поделиться Опубликовано 25 Сентября 2017 По оперативной предел 2 гига, дальше пойдут вылеты по нехватке. Отгрузив все текстуры в видеопамять по сути в неограниченном кол-ве, мы редко когда за 1.5 перевалим даже на огромных локах (обычно 1.1-1.2). И никаких х64 не нужно. Особенно на больших модах хорошо заметно, иногда очень быстро игра валится из-за забивания оперативки на дх9, как раз именно текстурами в большинстве случаев. На дх10/11 этой проблемы нет даже близко. 1 Ссылка на комментарий
НаноБот 740 Опубликовано 25 Сентября 2017 Поделиться Опубликовано 25 Сентября 2017 Почему производители процессоров существенно завышают реальное быстродействия. Реальные тесты показывают существенно меньшие быстродействия.https://ru.wikipedia.org/wiki/FLOPS Вот реальный тест вычисления умножения матрицы. Реальный код из XRay, функция mul_43.https://yadi.sk/d/vVm-Y5Fm3NBuaC Что у меня получилось, ну во первых, сам тест может не очень корректный, но какой есть, всё равно покажет какое быстродействие. А меня AMD Athlon II X4 640 3.01 ГГц. FPU тест: 138 тактов SSE тест: 56 тактов, если сделать инлайн код, то 49-50 тактов. Далее подсчитаем сколько float операций было сделано: 36 умножений и 27 сложений float для FPU 36+27=63/138*3.01e9=1.37 ГФлопс на ядро. А для SSE всего выполняется: 12 mulps, 9 addps что соответствует 12*4 = 48 умножений и 9*4 = 36 сложений = 84 операций float. 48+36=84/50(инлайн код)*3.01e9=5.057 ГФлопс на ядро. Хотя полезное быстродействие немного меньше (3.7926 ГФлопс). И всё равно реальное быстродействие существенно меньше заявленного, зависит от кода и так от компилятора, лишь хороший понимающий программист совместно с хорошим компилятором может создать код, который может выдавать быстродействие близкое к пиковому, но обычно никогда его не достигающий. А если использовать древние компиляторы(Delphi 6, 7(оптимизация для 386 или 486)) то там быстродействие ещё меньше. ЗЫ Кто может программку погонять, хочу узнать сколько выполняется на core i7, а так же на бульдозере и прочих экскаваторах. SSE код может быть не оптимизирован под новые архитектуры, т.е. с более мощным конвейером. 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Malandrinus 615 Опубликовано 28 Сентября 2017 Поделиться Опубликовано 28 Сентября 2017 On 9/25/2017 at 5:49 AM, НаноБот said: Почему производители процессоров существенно завышают реальное быстродействия. Ты же сам и ответил на вопрос. Потому что реальное быстродействие зависит от приложения и от компилятора. К числу факторов могу ещё добавить скорость работы оперативной памяти. Память - это вообще узкое место современного компьютера, поскольку работает в несколько раз медленнее процессора. Как-то это компенсируется кешами, но есть куча приложений, где кеш не помогает, и скорость вычислений сводится к скорости чтения/записи. Собственно, это как раз и делает, среди прочего, реальную скорость вычислений так сильно зависимой от приложения, поскольку в разных задачах сильно разнится соотношение и порядок чтения/записи/вычислений. 1 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
aka_sektor 1 464 Опубликовано 18 Ноября 2017 Поделиться Опубликовано 18 Ноября 2017 Пояснит кто, в чем прикол с: https://ru.wikipedia.org/wiki/Goto Наткнулся тут: https://youtu.be/WT82dSzZTKs?t=352 Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB Ссылка на комментарий
Desertir 202 Опубликовано 19 Ноября 2017 Поделиться Опубликовано 19 Ноября 2017 Ооо, да goto это же целый мем, про goto можно дискутировать месяцами (намеренное преувеличение) почему его нельзя/можно использовать. Поищи в интернете "why is goto operator deprecated". Ну или по русски "почему нельзя использовать goto", тоже находит неплохие статьи/форумы. Если коротко, даже один этот оператор может превратить поддержку (дебаг, исправление или просто понимание логики работы кода) в кромешный ад и из этого раздули, что этот оператор - "это уже слишком", хотя сам оператор наипростейший. 1 1 ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 19 Ноября 2017 Поделиться Опубликовано 19 Ноября 2017 Причем, заметим, ни один из jmp/br из процессоров ни куда не делся. А отсутствие как goto, так и continue одновременно можно наблюдать в том же LUA, с результатом слегка предсказуемым. А, да, самое смешное, что результат работы компилятора с любым if/for/while и т.д., не говоря о case, в итоге все равно в 146% случаев состоит из j[flag] offset, jmp offset/addres, или даже вообще j* label, jmp ... label: jmp ... Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
НаноБот 740 Опубликовано 19 Ноября 2017 Поделиться Опубликовано 19 Ноября 2017 (изменено) От goto можно и нужно избавляться, даже MASMe, макросы .if .else, .endif и т.д. позволяют делать легко читаемый код, который легко портируется в С++. Я вот раньше думал что в поисковых алгоритмах надо использовать goto, но я сейчас знаю как написать код на lua или C++ где можно обойтись и без этого оператора. Я сейчас с смартфона, но всё таки попробую показать код. function search_str(str) for i=1, #tbl do if tbl[i]==str then return true, i end end return false end Идея понятно, код оформляем в функцию, которая возвращает булеву. Понятно, цикл может сколько угодно быть вложенным, так же можно вернуть индекс таблицы. В С++ код можно сделать инлайн, что бы быстрей работал. Изменено 22 Ноября 2017 пользователем НаноБот вставил код ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
Malandrinus 615 Опубликовано 19 Ноября 2017 Поделиться Опубликовано 19 Ноября 2017 18 hours ago, Desertir said: даже один этот оператор может превратить поддержку (дебаг, исправление или просто понимание логики работы кода) в кромешный ад Не надо преувеличивать проблему. В точно такой же ад может превратить дебаг, исправление, понимание и т.д. не использование этого оператора там, где это уместно. Как, к примеру, в вышеприведённом совете паковать вложенный цикл в функцию. В С++, кстати, полно замаскированных операторов goto: switch, break, continue, множественные return - это всё по сути операторы goto. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
abramcumner 1 146 Опубликовано 19 Ноября 2017 Поделиться Опубликовано 19 Ноября 2017 12 часов назад, Malandrinus сказал: В С++, кстати, полно замаскированных операторов goto: switch, break, continue, множественные return - это всё по сути операторы goto. Duff device Цитата strcpy(to, from, count) register char *to, *from; register count; { register n = (count + 7) / 8; if (!count) return; switch (count % 8) { case 0: do { *to = *from++; case 7: *to = *from++; case 6: *to = *from++; case 5: *to = *from++; case 4: *to = *from++; case 3: *to = *from++; case 2: *to = *from++; case 1: *to = *from++; } while (--n > 0); } } И ни одного гото. Ссылка на комментарий
Desertir 202 Опубликовано 20 Ноября 2017 Поделиться Опубликовано 20 Ноября 2017 3 часа назад, Malandrinus сказал: Не надо преувеличивать проблему. В точно такой же ад может превратить дебаг, исправление, понимание и т.д. не использование этого оператора там, где это уместно. Так можно сказать про любую архитектуру, которая написана двумя левыми руками. Проблемы же не в компьютере, а в субъекте по ту сторону клавиатуры. Я так полагаю, goto выиграл у других операторов по частоте появления в таких "левых" программах и их кривость обусловливалась этим самым goto. Типа на кодревью или в легаси "Что тут делает этот goto, омг, зачеееем, когда надо было так?". 3 часа назад, Malandrinus сказал: В С++, кстати, полно замаскированных операторов goto: switch, break, continue, множественные return - это всё по сути операторы goto. Я предлагаю не обсуждать неявные использования, на эти выражения наверняка есть десятки, если не сотни, тестов для основных используемых компиляторов. 2 часа назад, abramcumner сказал: Duff device Кроме goto меня в ступор вводили разве что ацкой длины условия в if'ах и безумное кол-во case'ов. Остались циклы, но у меня с ними хорошие отношения ТЧ 1.0004. SAP и Trans mod github Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти