![]() |
Страницы (41): « Первая ... « 28 29 30 31 [32] 33 34 35 36 » ... Последняя » Показать все 608 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Наши проекты (https://hlfx.ru/forum/forumdisplay.php?forumid=1)
-- PrimeXT - логическое продолжение XashXT (https://hlfx.ru/forum/showthread.php?threadid=5371)
Сделал меню с регулировкой различных настроек постпроцессинга в реалтайме. В будущем будет специальная энтити, в которой маппер будет прописывать эти настройки, и по активации они будут плавно применяться игрокам. Неплохой художественный инструмент.
__________________
Мой сайт
Xash3D Modding Discord
Появились кое какие интересные данные.
Где-то приблизительно 1-2 недели назад, мне Креозот зарепортил о проблемах при компиляции карты. Компилятор падает с out of memory, это притом что свободной памяти в системе есть как минимум несколько гигабайт, чего более чем достаточно. Путём недолгих разбирательств выяснилось, что дело в фрагментации памяти. В качестве эксперимента, я решил прикрутить менеджер памяти mimalloc, что успешно сделал. Осталось его хорошо протестировать. Но есть еще один момент. На системах, начиная с Windows Vista, есть такой механизм как ASLR, который при запуске процесса рандомизует базовые адреса модулей, в т.ч. системных библиотек. И вот я решил поглядеть, что же такое половинит огромные куски свободной памяти в адресном пространстве. Это оказались системные библиотеки . И если для 64-разрядных процессов это не сыграет никакой роли в плане фрагментации, ибо адресное пространство там огромнейшее, то на 32-разрядных процессах оно вставляет палки в колёса. Причём, системе не важно, собран ли файл старым компилятором, который про ASLR понятия не имеет, либо же новым, и там включен ASLR - система все равно, по умолчанию, будет грузить библиотеки по рандомным адресам. Хотя это поведение отключаемое. А вывод какой: если бы была возможность собрать приложение под 64 бита безо всяких переделок, то не пришлось бы с этим всем возиться. То есть в будущем надо все таки обязательно весь код портировать под 64 бита, чем я когда-то начал заниматься, но пока не закончил. Переделать всё, это ещё ладно, надо ещё всё тщательно протестировать.
__________________
Мой сайт
Xash3D Modding Discord
Цитата из Вики:
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Чтож, по предварительной информации, mimalloc не дал значимых преимуществ в преодолении фрагментации в 32-разрядных процессах. А поскольку выключать ASLR во всей системе только ради того чтобы работали компиляторы это не вариант, остаётся лишь портировать компиляторы под 64 бита. Иных вариантов нет.
__________________
Мой сайт
Xash3D Modding Discord
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой сайт
Xash3D Modding Discord
Оригинальный p2rad тоже падает с нехваткой памяти на системе с ASLR?
Я помню строго обратное поведение. Там где на той же XP не хватало памяти, на 64-х битной системе это же 32-х битное приложение вполне комфортно себя чувствовало. Пример - Stalker. Lost Alpha. Очевидно в данном случае все эти распилы ей шли только на пользу.
Добавлено 30-10-2022 в 12:38:
Кстати. Вот еще что вспомнил. Кто как не знаю, но лично я с незапамятных времён укрепился в мысли, что ни одну винду без предварительного твикинга юзать вообще невозможно. Поэтому после установки запускаю подходящий твикер и долго-долго отключаю там всякую пердь. Вполне вероятно что и ASLR я тоже таким образом отключал, но он скрывался под какой-то общей галкой, оптимизация потребления памяти может.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Мой сайт
Xash3D Modding Discord
patch_t = 432 bytes |
sample_t = 128 bytes |
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
По предварительным данным тестов, праймовские 64-битные компиляторы собрали карту ЧАЭС за 10 минут, а оригинальные p2st собирают её за 1 час 7 минут. Причём, в p2st генерация kD-trees происходит намного быстрее, чем в прайм-компиляторах. Но зато прайм-компиляторы гораздо быстрее считают саму лайтмапу (именно на этот процесс уходит больше всего времени в случае с p2st).
Добавлено 31-10-2022 в 22:04:
Но это не имеет значения, до тех пор пока я не убедюсь что результат в обоих случаях валидный.
__________________
Мой сайт
Xash3D Modding Discord
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
__________________
Мой сайт
Xash3D Modding Discord
Что ж, попробовал я в прайме запустить карту ЧАЭС. И при запуске вылетает с out of memory где-то в коде создания кэша коллизии. Вообще точно та же проблема, что была с компиляторами карт, и тут ясно было что причина в фрагментации памяти. После чего портировал код под 64 бита - тщательных тестов пока не проводил, но и ни на какие проблемы не наткнулся за всё время. На 64 битах карта всё-таки запускается где-то 1-2 минуты. Из проблем, пожалуй, коллизия криво сгенерилась местами, но тут как я понял вина старого PhysX SDK. Оперативной памяти отожрало ровно 2 гигабайта. Ещё не очень понравилась лайтмапа на моделях, местами есть разного рода артефакты, местами всё ок. Уж не знаю, в чём причина, это сама карта так скомпилирована (я запускал карту из тестового пака для P2) или же это какие-то косяки в рендере. Скриншоты я приложу
__________________
Мой сайт
Xash3D Modding Discord
В Параное не было PhysX, а тут он видимо отъел дополнительно памяти.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Временная зона GMT. Текущее время 11:01. | Страницы (41): « Первая ... « 28 29 30 31 [32] 33 34 35 36 » ... Последняя » Показать все 608 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024