Прекеш ничего не делает. Во всяком случае для меня эта настройка никогда ничего не меняла в случае лагов.
А у меня и стримеров моих модов дает эффект и очень даже заметный, а усиливается этот эффект если добавить свой собственный прекеш через ACS. Т.е. без опции прекеша лагает даже там где лагать не должно, с опцией прекеша лагает уже только при появлении новых 3дмоделей, а с ACS прекешем не лагает вообще (x64 версия при условии, что оперативки хватает для всего мода)
aivar242:
theleo_ua - Как-то говорил, что можно где-то в порте, повысить хэш для Hi-Res текстур, если будут тормоза, но где это можно сделать, не известно.
есть как минимум 3 способа прекеша:
1) опция "precache gl textures" в гздуме 2) спавнить всех "тяжелых" акторов ACSом в начале каждого уровня (причем спавнить желательно все тяжелые состояния, т.е. если у взрыва актора 10 разных вариаций и для каждой своя 3дмодель, то все эти 10 вариаций надо отспавнить) 3) через mapinfo сделать precacheclasses (или precacheactors, уже не помню) для всех акторов (этим способом я не пользовался еще, не лагает даже без него)
И настоятельно рекомендую x64 билды и достаточный объем свободной оперативки (x32 билды даже при теоретической возможности адресации 4 гигов памяти, тратят около 2 гиг на нужды ОС (имеется в виду адресация а не съедаемая память), и на гоззу остается около двух гиг, кому интересно могу кинуть ссылку на обсуждение этого нюанса с графом и ко)
В любом случае на низкой чистоте цп происходит жуткое проседание фпс при включении high quality resize mode. Проверял данную гипотезу подкручиванием множителя цп и снижения тем самым тактовой чистоты до неприлично низких значений. Улыбнуло то, гозза отлично чувствует себя(любой iwad+lights.pk3+brightmaps.pk3) и при чистоте цп 400мгц.
theleo_ua:
кому интересно могу кинуть ссылку на обсуждение этого нюанса
Давай, интересно будет глянуть.
theleo_ua:
и на гоззу остается около двух гиг
я чесно говоря даже не представляю себе что нудно сделать, чтоб гозза столько сожрала. Я её в вирт. машине(не помню зачем) и на 512мб озу в winxp запускал и нормально всё было. Может я просто мало модов подключал.
я чесно говоря даже не представляю себе что нудно сделать, чтоб гозза столько сожрала. Я её в вирт. машине(не помню зачем) и на 512мб озу в winxp запускал и нормально всё было. Может я просто мало модов подключал.
Скрытый текст:
1) Когда-то давно, когда я впервые попробовал aeons of death (если не ошибаюсь, версия гоззы тогда была 1.5.6), при включенных hq4x и прочих фильтрах, и пустил мап32 плутонии, то у меня через 20 минут игры гозза крашилась от нехватки памяти (на современных версиях гоззы я не тестил aeons), и уже тогда я думал над тем что по хорошему было бы графу сделать x64 билды
2) Мой текущий мод к еретику включает в себя кучу 3дмоделей, хайрез текстур и звуков, которые в ogg формате весят уже почти 300 мег (т.е. 3 гига в распакованном WAV формате), соответственно гозза при подгрузке уровня грузит эти OGG в распакованном формате в оперативку (3 гига уже сожрано), и к этому добавь хайрез текстуры, 3дмодели и прочее, и все это со сглаживанием XBRZ4x и прочими фильтрами/эффектами гоззы
Когда в моем моде было звуков меньше чем на 150 мег, х32 билд работал исправно (подлагивал, но не крашил гоззу), но когда звуков стало чуть больше и памяти уже не хватало (вылезало на пределы примерно 2200 мег, точную цифру не помню уже), то гозза уже начала крашиться (напомню, что файлы подкачки у меня отключены в винде), и после того, как я попробовал тот же мод на х64 билде, то во-первых исчезли краши, а во вторых исчезли подлагивания
Опять же, если мой мод такой уникальный и ни у кого больше гозза не сожрет больше 2 гиг, то мне остается только порадоваться за остальных, но в моем случае, к сожалению, х32 билды уже не вариант от слова совсем
З.Ы. И да, мой мод (по причине звуков) грузит карту около 45 секунд, и самое смешное, что благодаря ему совершенно случайно был найден трудновоспроизводимый баг с прекешем звуков (который граф уже пофиксил)
aivar242:
Играя заметил, что дикие тормоза появляются, когда смотришь на кровь от монстряков, оставленой на стене. Надо как-то отключить этот эффект в порте.
Убедился, что при подключении архива Lights.pk3 и Brightmaps.pk3 порт начинает ощутимо тормозить. Было проверено на мапе 23 (бочки) Дума 2. Производительность падает где-то на 20fps. Поэтому - если у кого слабое железо (ноутбук, старый офисный ПК), то не включайте данные паки.
Странно, что эти паки не были по умолчанию подключены Графом в конфиге, потому что в самом порте, очень удобно можно их отключить, в меню Options -> Diplay Options -> OpenGL Options -> Dynamic Light Options - прямо как настройки качества графики в современных играх. У кого тянет - тот играет со светом, у кого тормозит - выключает его.
Добавлено спустя 1 день 7 часов 36 минут 18 секунд:
Заметил, что в порте 2.2.0 рендер, при включеном качестве - Quality, всё равно имеет искрение (просветы) на текстурах. В порте 2.1.1 - этого нет.
Странно, что эти паки не были по умолчанию подключены Графом в конфиге, потому что в самом порте, очень удобно можно их отключить, в меню Options -> Diplay Options -> OpenGL Options -> Dynamic Light Options - прямо как настройки качества графики в современных играх. У кого тянет - тот играет со светом, у кого тормозит - выключает его.
Есть разница. При отключении через менюшку освещения нет совсем (в том числе и того, которое ставят авторы на своих картах), а это чаще всего нежелательно. А так, как сделал граф — освещения от всего подряд нет, но авторское есть. Очень удобно.
Заметил, что в порте 2.2.0 рендер, при включеном качестве - Quality, всё равно имеет искрение (просветы) на текстурах. В порте 2.1.1 - этого нет.
Разная работа с антиализингом полигонов, наверное. (НЕ путать с антиалиазингом текстур!) Вот это вот "искрение" - результат неправильного смешения полупрозрачных пикселей на границе полигонов (на гранях). Это тесно связано с сортировкой в Z-буфере (это определяет, как будут накладываться пиксели соседних (примыкающих) полигонов). Можно поиграть с настройками... но я вот заглянул туда, и ничего более подходящего, чем "Sort Draw List By Texture" не нашел...
Sort Draw List by Texture — это оптимизация, пытающаяся снизить количество вызовов отрисовки за счёт рисования всех объектов с одной текстурой за один вызов (т.е. три стены с одной текстурой будут отображаться как одна большая модель). Это не о том.
А искрение — это не смешения результат, а неточного указания координат полигонов или текстур. Таким образом, что в каком-то месте нет либо текстуры (а в таком случае отображается #ffffff), либо нет полигона (в этом случае отображается небо, а иногда всё тот же #ffffff). Из этой же серии есть прикол в софте, когда на вроде бы идеально оталигненных линиях сверху/снизу проскальзывает одна строчка пикселей с противоположного конца (на FIREWALL заметно). И это не результат антиалиасинга, потому что эта проблема есть и с выключенным сглаживанием.
А на 3д модели это не влияет ? Вообще круто если бы ты разжевал так каждую опцию хД Я вообще понятия не имел что Sort Draw... имеет отношение к оптимизации
Я хз, 3д модели и спрайты вроде должны рисоваться в конкретном порядке... От конца к началу, чтобы прозрачность работала правильно. И этот порядок определяющий, сортировать по чему-то другому бессмысленно.
А искрение — это не смешения результат, а неточного указания координат полигонов или текстур.
Подразумевается, что вместо double использован float ? Так там (в ванильном Думе) вроде бы все координаты вершин имеют целочисленный тип (short int). Разве нет?
С другой стороны, если вместо int-а используется float, тогда некоторые целочисленные координаты НЕ могут быть ТОЧНО представлены в виде float. (я с таким сталкивался, знаю, о чем говорю) Это когда вместо ровного значения 10000, мы получаем на выходе что-то типа 10000.023333 (при обычном конвертировании int -> float)
alekv:
Вообще круто если бы ты разжевал так каждую опцию хД
Подразумевается, что вместо double использован float ?
Подразумевается, что вместо float использован fixed, конвертированный в дабл, причём неточно.
VladGuardian:
Это когда вместо ровного значения 10000, мы получаем на выходе что-то типа 10000.023333 (при обычном конвертировании int -> float)
Это кстати очень странно если ты такое получаешь. У флоата лимит точного представления будет около 8388608 (0x800000, из-за размера мантиссы в 24 бита). Но ещё есть дабл, которому насрать на такие подробности, ибо он 52-битный не считая той части которая положение точки уточняет.
У флоата лимит точного представления будет около 8388608
Вот видимо на больших числах сталкивался, сейчас точно не помню. double в 3D-графике не использовал, он тормознее флоата, по-крайней мере, на старых процессорах. и везде где это только можно, конечно int
P.S. Странно, сейчас в тестовой програмке воспроизвести не могу, то о чем я говорил... Хотя нет, вот столкнулся:
Скрытый текст:
Код на языке C:
int i = _wtoi( Edit1->Text.c_str() );
float f = (float)i;
char s[80];
sprintf(s,"%f", f);
Edit2->Text = f;
Теория - всё это конечно хорошо, но почему в 2.1.1 - всё работает прекрасно с режимом Quality, а в 2.2.0 испортили его? Как такое может быть? Я просто недавно на этом порте и наслышан, что с каждой новой версией, могут быть проблемы там, где всё работало прекрасно. Я про хорошую работу файлов md3 до релиза 2.1.1, теперь вот искрение. Такова уж сущность этого порта, как я понял.
Столкнулся с ещё одной проблемой. Есть Hi-Res текстура с черепом, которая на месте её наложения, видна как её четверть. В чём может быть проблема?
В общем сам разобрался... Если файлы текстур закинуты просто в папки, Гозза не умеет такие текстуры масштабировать. Она их будет отображать не корректно. Их надо кидать в папку Hires, только тогда всё будет нормально отрисованно. Бред конечно не удобный, но так сделано. Я спросил у Графа по этому поводу, он сказал - если текстуры Hi-Res, то кидать нужно только в Hires папку или архив, если не Hi-Res, то можно в простые папки.
Автор планирует сделать: Bloom/tonemaps "GL" Lights "GL" Skyboxes Model support (will be done in a similar manner to voxels, so it won't be as good as GZDoom's) True freelook support GZDoom's texture upscaling filters (HQNx, xBRZ, etc) Floor decals Flat&Wall sprites
Такие дела. Вопрос - кому это надо и надо ли вообще? Получится ли реализовать весь список в пределах этого проекта?
Разрабам ) А вообще зависит от оптимизации. Разница в софте и гл в том, что расширенный софт при хреновом компе будет лагать, а вот гл не запустится совсем. Так что кому-то, наверное, таки нужно.