Войти
ПроектыФорумУтилиты

Космический симулятор SpaceEngine (172 стр)

Advanced: Тема повышенной сложности или важная.

Страницы: 1171 172 173 174217 Следующая »
#2565
22:23, 16 сен. 2012

RPG
> У меня 8 гигабайт, а прога думает что 2. Возможно, поэтому, доезжая до 2 Гб она
> сегфолтится. Память карты вроде определяется верно. Память судя по всему под
> текстуры выделяется.
RPG
> Вот скрин со всей  информацией, возможно, поможет понять что тут не так:
У вас версия SE старая! Качайте новую, а потом патч.

RPG
> Практически memory leak по определению:) Когда память освобождается с
> текстурами? А с мешами? Или это добрый драйвер "оставляет" текстуры на всякий
> случай, но при этом программа о них не знает?
Движок удаляет текстуры и меши только когда нужна память под новые. Что в этом не правильного? Если приземлиться на планету и покрутиться, все вокруг закешируется. То же самое звёзды и т.д.

gammaker
> Квадратные. Соотношение экрана совпадает с соотношением разрешения. Только
> aspect ratio всегда равен разрешению по ширине, делённому на разрешению по
> высоте, то есть 1.7 (так и стояло по умолчанию).
Этот параметр обозначает иеммно соотношение сторон пикселя. По умолчанию стоит 1.0,  это вы что-то подправили или скачали что-то не то.

RPG
> Кстати, при расчёте детальной карты планеты, может быть полезным забабахивание
> всех параметров планеты в один мега-glsl-скрипт - положительно сказывается на
> скорости работы шейдров на стареньких карточках
Старые карты и так не поддерживаются. Правда при таком методе перед генерацией каждой новой планеты будет длинющий лаг - шейдеры очень большие и компилятся 2-5 секунды, а каждая планета/луна имеет свой набор параметров.


#2566
0:29, 17 сен. 2012

Neptune
> У вас версия SE старая! Качайте новую, а потом патч.
о как, а я то надеялся что на офф сайте предложат новейшую версию с уже наложенным патчем.

Neptune
> Движок удаляет текстуры и меши только когда нужна память под новые. Что в этом
> не правильного? Если приземлиться на планету и покрутиться, все вокруг
> закешируется. То же самое звёзды и т.д.
В этом то и проблема. Памяти много, но после 2 Гб он всё равно не удаляет старые объекты, и при этом не может выделить память под новые. Может после достижения порога в 1.5 Гб потихоньку чистить старьё?

Neptune
> Старые карты и так не поддерживаются. Правда при таком методе перед генерацией
> каждой новой планеты будет длинющий лаг - шейдеры очень большие и компилятся
> 2-5 секунды, а каждая планета/луна имеет свой набор параметров.
А при тесселяции - тот же длиннющий лаг в 2-3 секунды. Можно многопоточность сделать, но конечно проблем будет вагон. А не пробовали POM вместо этой дурацкой тесселяции?

Кстати, чем объясняются дикие тормоза (1.5-2 фпс) при приближении к планетам, у которых непроцедурный ландшафт?

#2567
1:22, 17 сен. 2012

RPG
> о как, а я то надеялся что на офф сайте предложат новейшую версию с уже
> наложенным патчем.
Да просто там народ все время возмущается что прога много весит - аж 400 Мб, лень качать каждый раз всё.

RPG
> В этом то и проблема. Памяти много, но после 2 Гб он всё равно не удаляет
> старые объекты, и при этом не может выделить память под новые. Может после
> достижения порога в 1.5 Гб потихоньку чистить старьё?
Конечно не удаляет, откуда движок знает, что юзер не вернётся назад? Да и какая разница сколько памяти отъедать, вам жалко что ли? Или вы параллельно игре много всякого запускаете?

RPG
> А при тесселяции - тот же длиннющий лаг в 2-3 секунды. Можно многопоточность
> сделать, но конечно проблем будет вагон. А не пробовали POM вместо этой
> дурацкой тесселяции?
Я не использую теселляцию. Как я уже говорил, тормоза из-за передачи текстур на CPU. Я уже знаю как это обойти.
Многопоточность не поможет - это же GPU.

RPG
> Кстати, чем объясняются дикие тормоза (1.5-2 фпс) при приближении к планетам, у
> которых непроцедурный ландшафт?
Это чтение текстур с диска, и декодирование из jpg/png. Надо переделать все текстуры на более мелкие, 256*256 уже почти без тормозов грузятся.

#2568
7:18, 17 сен. 2012

Neptune
> Я не использую теселляцию. Как я уже говорил, тормоза из-за передачи текстур на
> CPU.
А зачем их туда передавать? Делаете тесселяцию на CPU (а ещё лучше на GPU), смещение высот через вертекс-шейдр.
Neptune
> Многопоточность не поможет - это же GPU.
Так вроде сборка шейдра не на GPU идёт.
Neptune
> Конечно не удаляет, откуда движок знает, что юзер не вернётся назад? Да и какая
> разница сколько памяти отъедать, вам жалко что ли? Или вы параллельно игре
> много всякого запускаете?
Ну хром обычно 2-3 гб занимает. Но я не о том, баг собственно в том что при 2 Гб - сегфолт. Ага, вот патч эту проблему решает.

Neptune
> Это чтение текстур с диска, и декодирование из jpg/png. Надо переделать все
> текстуры на более мелкие, 256*256 уже почти без тормозов грузятся.
Нет, это когда уже всё загрузилось. Когда текстуры грузит вообще ступор. Кстати после патча ускорился рендер "солнечных" планет, но сильно упал общий показатель фпс. Если раньше было 50-70, стало 20-30.

P.S. Ну вот, с патчем теперь вылетает на 4 Гб. Совсем другое дело

#2569
1:36, 18 сен. 2012

RPG
> А зачем их туда передавать? Делаете тесселяцию на CPU (а ещё лучше на GPU),
> смещение высот через вертекс-шейдр.
Чтобы строить меши и для физики. Смещение высот чере вертекс шейдер пробовал, но вылезла другая проблема: http://www.gamedev.ru/projects/forum/?id=122716&page=166#m2481

RPG
> Так вроде сборка шейдра не на GPU идёт.
При чём тут сборка шейдера. Да и разве можно её распараллелить?

RPG
> Ну хром обычно 2-3 гб занимает. Но я не о том, баг собственно в том что при 2
> Гб - сегфолт. Ага, вот патч эту проблему решает.
> P.S. Ну вот, с патчем теперь вылетает на 4 Гб. Совсем другое дело
SE - 32-битная прога, она не может использовать больше 4 гигов. И вообще-то падать не должна, мендежер памяти следит и за VRAM и за RAM. При одном гиге VRAM оператива не должна даже до 1.5 гигов выростать, что-то не то происходит.

RPG
> Нет, это когда уже всё загрузилось. Когда текстуры грузит вообще ступор.
Ааа, это какой-то новый нездоровый баг, то ли чистка от старых текстур и мешей адский тормозит, то ли что, не разобрался ещё.

RPG
> Кстати после патча ускорился рендер "солнечных" планет, но сильно упал общий
> показатель фпс. Если раньше было 50-70, стало 20-30.
Хм, странно...

#2570
9:00, 18 сен. 2012

Neptune
> SE - 32-битная прога, она не может использовать больше 4 гигов. И вообще-то
> падать не должна, мендежер памяти следит и за VRAM и за RAM. При одном гиге
> VRAM оператива не должна даже до 1.5 гигов выростать, что-то не то происходит.
У него 8 гигов памяти, получается что твой менеджер видит что ещё есть и продолжает, хавать, и нарывается на свою 32-битность. Я так понял

#2571
17:22, 18 сен. 2012

Zizilk
> У него 8 гигов памяти, получается что твой менеджер видит что ещё есть и
> продолжает, хавать, и нарывается на свою 32-битность. Я так понял
Нет, GlobalMemoryStatusEx возвращает объем физическй памяти, но не более 4 Гб, если ехе скомпилен с ключом /LARGEADDRESSAWARE, и не более 2 Гб, если без. Пока ещё не было случая, чтобы движок уперся в 4 Гб потолок, это возможно только если видеопамяти гигов 8 (тогда кэш в видео становится настолько большим, что сопутствующие данные в ОЗУ не помещются). Но даже если потолок и достигается, движок не должен падать.

#2572
19:40, 18 сен. 2012

Neptune
> Чтобы строить меши и для физики. Смещение высот чере вертекс шейдер пробовал,
> но вылезла другая проблема:
> http://www.gamedev.ru/projects/forum/?id=122716&page=166#m2481
Так там же в теме и правильно порекомендовали: карту высот строить в шейдере, а вычислять дистанцию до камеры по другой, менее точной карты высот, два предыдущих лода будет вполне достаточно, а шину разгрузит аж в 16 раз! И на CPU для грубой быстрой оценки передавать не float текстуру а просто rgb.

Neptune
> RPG
> > Нет, это когда уже всё загрузилось. Когда текстуры грузит вообще ступор.
> Ааа, это какой-то новый нездоровый баг, то ли чистка от старых текстур и мешей
> адский тормозит, то ли что, не разобрался ещё.
>
> RPG
> > Кстати после патча ускорился рендер "солнечных" планет, но сильно упал общий
> > показатель фпс. Если раньше было 50-70, стало 20-30.
> Хм, странно...
Я понял причину диких тормозов - туманности и атмосфера. Если их выключить - фпс не опускается ниже 100. В зависимости от атмосферы, не знаю как она рендерится, но на разных планетах может колебаться от 5 до 40 фпс.

Neptune
> SE - 32-битная прога, она не может использовать больше 4 гигов. И вообще-то
> падать не должна, мендежер памяти следит и за VRAM и за RAM. При одном гиге
> VRAM оператива не должна даже до 1.5 гигов выростать, что-то не то происходит.
Neptune
> Но даже если потолок и достигается, движок не должен падать.
Движок таки падает... Я к сожалению не могу никак физически протестировать его на винде, возможно, спишем это на глюки вайна. Но при достижении 2 Гб я бы всё-таки чистил совсем старый мусор. Генерация контента идёт очень быстро, я так понял тормозят только меши, так что не жалко его снова перегенерировать.

#2573
20:31, 18 сен. 2012

>Нет, GlobalMemoryStatusEx возвращает объем физическй памяти, но не более 4 Гб, если ехе скомпилен с ключом /LARGEADDRESSAWARE, и не более 2 Гб, если без.
>Пока ещё не было случая, чтобы движок уперся в 4 Гб потолок, это возможно только если видеопамяти гигов 8 (тогда кэш в видео становится настолько большим, что сопутствующие данные в ОЗУ не помещются).
>Но даже если потолок и достигается, движок не должен падать.
У меня вообще на нетбуке работает и не падает (хоть и тормозит). Правда я недолго летал.

#2574
22:57, 18 сен. 2012

RPG
> Я понял причину диких тормозов - туманности и атмосфера. Если их выключить -
> фпс не опускается ниже 100. В зависимости от атмосферы, не знаю как она
> рендерится, но на разных планетах может колебаться от 5 до 40 фпс.
Ага, атмосфера очень прожорлива. Но разных планетах разное количество лайтов (солнца и луны), но не более 4. В самом жестком случае - 4 лайта, облака и вода, даже у меня тормозит, 15-20 фпс (GF 9800). С туманностями тоже есть проблема - там пара моделе с очень большим числом спрайтов, надо их упростить.

RPG
> Генерация контента идёт очень быстро, я так понял тормозят только меши, так что
> не жалко его снова перегенерировать.
Да я сам не в восторге от нынешней системы, надо что-то кардинально менять.

#2575
23:21, 18 сен. 2012

Кстати не баг но неприятность - если подлететь к планете и сразу от неё отдалиться - движок не чистить очередь генерации текстур, а продолжает создавать поверхность.

Neptune
> Ага, атмосфера очень прожорлива. Но разных планетах разное количество лайтов
> (солнца и луны), но не более 4. В самом жестком случае - 4 лайта, облака и
> вода, даже у меня тормозит, 15-20 фпс (GF 9800). С туманностями тоже есть
> проблема - там пара моделе с очень большим числом спрайтов, надо их упростить.
4 источника света на объект - фигня. Филлрейт проседает - помножьте 100500 спрайтов на FullHD разрешение. Число блоков растеризации растёт не так стремительно, как число универсальных процессоров.

Баг - похоже, блики считаются не в screen-space. Occlusion query должен спасти.

+ Показать

Вот снова упала когда увеличивал дальность прорисовки звезд. Второй раз падение было когда часто нажимал "g".

Интересный эффект: в покое 300-400 фпс, вращаю камеру (правой кнопкой) - 50 фпс, останавливаю вращение - снова 300-400 фпс. При вращении левой кнопкой мыши такого не происходит.

#2576
14:47, 19 сен. 2012

Земля почему-то полностью затоплена водой, континенты видно тольео если отключить воду. Скриншоты приложены, сфотографировано одно и то же место.
До отключения воды | Космический симулятор SpaceEngineПосле отключения воды | Космический симулятор SpaceEngine
А вообще проект очень понравился.

#2577
20:35, 19 сен. 2012

RPG
> 4 источника света на объект - фигня.
Для Брунетоновский атмосферы - не фигня. Спарйты это в туманностях, а там освещения вообще нет.

RPG
> Баг - похоже, блики считаются не в screen-space. Occlusion query должен спасти.
Какие настройки Diffraction Spikes? Если норм или супер - должно нормально отсекаться. А Occlusion query кстати не будет работать с прозрачностью - атмосфера, облака, кольца.

RPG
> Вот снова упала когда увеличивал дальность прорисовки звезд.
Что за дальность прорисовки звёзд? Там нет такого. Есть предельная звёздная величина.

Видимо падает всё-таки из-за wine, в винде таких проблем не наблюдается.

Maks123
> Земля почему-то полностью затоплена водой, континенты видно тольео если
> отключить воду. Скриншоты приложены, сфотографировано одно и то же место.
Да, был такой баг, уже исправлен.

#2578
21:55, 19 сен. 2012

Maks123
> Земля почему-то полностью затоплена водой, континенты видно тольео если
> отключить воду.
о у меня было такое, а я не мог понять почему вся земля синяя:)

Neptune
> Для Брунетоновский атмосферы - не фигня. Спарйты это в туманностях, а там
> освещения вообще нет.
Слишком смещённый рендер (95% производительности оттягивает атмосфера) получается.

Neptune
> Что за дальность прорисовки звёзд? Там нет такого. Есть предельная звёздная
> величина.
Ну звёздный масштаб значит, в оригинале называется magnitude

Neptune
> Какие настройки Diffraction Spikes?
вроде норм, попробую воспроизвести


Кстати возможно поможет вычисление уровня LOD по z-буферу. Он будет достаточно точно давать вам карту высот, причем полноэкранный z можно не делать. чем ближе z - тем сильнее нужно делить ноды.

#2579
0:54, 20 сен. 2012

RPG
> Слишком смещённый рендер (95% производительности оттягивает атмосфера)
> получается.
Да, к сожалению. Но оно того стоит!

RPG
> Ну звёздный масштаб значит, в оригинале называется magnitude
Magnitude это и есть звёздная величина.Предельная чувствительность телескопа как бы. Чем больше - там больше звёзд видно.

RPG
> Кстати возможно поможет вычисление уровня LOD по z-буферу. Он будет достаточно
> точно давать вам карту высот, причем полноэкранный z можно не делать. чем ближе
> z - тем сильнее нужно делить ноды.
Т.е. как? Рендерить планету с текущим уровнем детализации в маленький z-буффер, а потом что? Не совсем понял идею.

Страницы: 1171 172 173 174217 Следующая »
ПроектыФорумУтилиты