ENG Новый сайт

Расширенный поиск
[ Новые сообщения · Пользователи · Правила ]
  • Страница 1 из 2
  • 1
  • 2
  • »
SpaceEngine RAMDisk
IvGradДата: Воскресенье, 19.05.2013, 08:24 | Сообщение # 1
Нет аватара
Космический пилот
Группа: Пользователи
Российская Федерация
Сообщений: 126
Награды: 1
Статус: Offline
При работе SpaceEngine обычно возникает две проблемы. Первая - это переполнение видеопамяти
приводящее к частым вылетам, а вторая - скорость загрузки/генерации текстур.

Первую проблему удалось частично решить расширением видеопамяти на ОЗУ, путём выставления
завышенных значений объёма в main.cfg и отключения VideoMemory StartupDetect/DynamicDetect,
что и было реализовано автором в SpaceEngine 0.97.

Но решение это временное ввиду того, что периодически возникают вылеты типа "Runtime Error".
Так что, если впоследствии не будет оптимизирована работа SpaceEngine с видеопамятью, то
единственным выходом из сложившейся ситуации будет покупка видеокарты объёмом 2-3 Гб.

Теперь собственно подробнее рассмотрим вторую проблему - скорость загрузки/генерации текстур.
В данном случае "узким" местом является скорость чтения HDD. Можно конечно же прикупить
современный SSD-накопитель, но гораздо практичнее будет эмулировать RAMDisk в ОЗУ.

Как это сделать подробно описано в статье - Создание виртуального диска в оперативной памяти

В качестве эксперимента создал 1 Гб RAMDisk в ОЗУ, скопировал на него папку SpaceEngine 0.97,
запустил и результат превзошёл все мои ожидания.

При базовых значениях LOD генерация ландшафта почти мгновенная, при высоких значениях
- полёт вблизи поверхности планет происходит без рывков и просадок.

Естественно, что многое будет зависеть от характеристик ЦП и в первую очередь видеокарты,
а также графических настроек. Но на своей системе я получил колоссальный прирост скорости.

P.S. Если у Вас периодически возникают вылеты типа "Runtime Error", то попробуйте выставить
в main.cfg следующие значения:

Код
VideoMemoryMaxPercent       90
VideoMemoryStartupDetect    true
VideoMemoryDynamicDetect    true


Сообщение отредактировал IvGrad - Воскресенье, 19.05.2013, 08:30
Nikita11Дата: Воскресенье, 19.05.2013, 11:02 | Сообщение # 2
Строитель Миров
Группа: Пользователи
Российская Федерация
Сообщений: 762
Награды: 4
Статус: Offline
Цитата (IvGrad)
эмулировать RAMDisk в ОЗУ

А можно его обратно оттуда убрать будет?
CrabДата: Воскресенье, 19.05.2013, 12:43 | Сообщение # 3
Первооткрыватель
Группа: Модераторы
Российская Федерация
Сообщений: 444
Награды: 1
Статус: Offline
Конечно, оперативная память полностью очищается при любом отключении питания. А в программе показанной в статье есть кнопка запуск диска, и остановка.

Windows 8 x64
Intel Core2 Duo CPU E7500 2.93GHz.
4 GB RAM.
Nvidia GeForce 550Ti 1024mb.
IvGradДата: Воскресенье, 19.05.2013, 13:03 | Сообщение # 4
Нет аватара
Космический пилот
Группа: Пользователи
Российская Федерация
Сообщений: 126
Награды: 1
Статус: Offline
Crab

Опередил. smile

Nikita11

..."Stop RAMDisk"

oleg999Дата: Воскресенье, 19.05.2013, 13:05 | Сообщение # 5
Первооткрыватель
Группа: Пользователи
Российская Федерация
Сообщений: 424
Награды: 2
Статус: Offline
Мдаааа, интересно, надо бы попробовать.
NeeskДата: Воскресенье, 19.05.2013, 13:22 | Сообщение # 6
Космонавт
Группа: Пользователи
Пират
Сообщений: 44
Награды: 0
Статус: Offline
интересный способ,попробуем
GatesofAmalgamДата: Воскресенье, 19.05.2013, 13:25 | Сообщение # 7
Исследователь
Группа: Пользователи
Российская Федерация
Сообщений: 158
Награды: 0
Статус: Offline
Точно помогает? Там грузить то не сильно и много. Странно это.
А с видеопамятью да, косяк. В следующий раз при апгрейде буду брать 6гиг похоже xD


i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64
ZIHAMMER1411Дата: Воскресенье, 19.05.2013, 13:29 | Сообщение # 8
Нет аватара
Звёздный Инженер
Группа: Пользователи
Российская Федерация
Сообщений: 1220
Награды: 8
Статус: Offline
Я эту штуку раньше использовал, а сейчас мне это просто не нужно.
oleg999Дата: Воскресенье, 19.05.2013, 14:20 | Сообщение # 9
Первооткрыватель
Группа: Пользователи
Российская Федерация
Сообщений: 424
Награды: 2
Статус: Offline
Цитата (IvGrad)
Так что, если впоследствии не будет оптимизирована работа SpaceEngine с видеопамятью, то
единственным выходом из сложившейся ситуации будет покупка видеокарты объёмом 2-3 Гб.

Ну, я думаю, что рано или поздно именно такую и придётся брать, так как с реализацией тех или иных пунктов из TODO, будут расти системные требования. Оптимизация может хоть как-то и может помочь сейчас, но потом... оптимизировать всё, что будет реализовано в будущем, например под гиг видеопамяти и 3 гига для оперативы, вряд ли представляется возможным, так что в будущем вероятней всего SE будет требовать эти 2-3 гига видеокарты.
SpaceEngineerДата: Воскресенье, 19.05.2013, 14:22 | Сообщение # 10
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Цитата (IvGrad)
Первая - это переполнение видеопамяти

Видеопамять не переполняется, а просто используется по максимуму.

Цитата (IvGrad)
а вторая - скорость загрузки/генерации текстур.

На скорость загрузки текстур - да, это повилияет. На скорость генерации - никак. Генерация текстур происходит на видеокарте, и диск к ней отношения не имеет. Только если видеопамяти так мало, что драйверу приходится выгружать текстуры в оперативную память, но и оперативной так мало, что винде приходится выгружать данные в своп. Но это уж совсем тяжёлый случай smile

Загружаются с диска только:

- текстуры планет Солнечной системы
- текстуры и модели галактик, туманностей и кораблей
- модели атмосфер (но делается это один раз, они потом никуда не выгружаются)
- шейдеры (делается это тоже только один раз, и лаги вызваны медленной компиляцей. Если у вас NVidia, можно включить кэширование скомпилированных шейдеров, и загружать их все при запуске SE - это займёт всего несколько секунд).

Всё остальное генерируется.
- текстуры и рельеф планет - на GPU
- всё остальное - на CPU в меного потоков. Так что если у вас 8-ядерный проц, всё будет генерироваться почти мгновенно.
- планетные системы генерируются не в параллельных потоках, поэтому браузер звёзд тормозит. Я работаю над этим.


oleg999Дата: Воскресенье, 19.05.2013, 14:52 | Сообщение # 11
Первооткрыватель
Группа: Пользователи
Российская Федерация
Сообщений: 424
Награды: 2
Статус: Offline
Цитата (SpaceEngineer)
- планетные системы генерируются не в параллельных потоках, поэтому браузер звёзд тормозит. Я работаю над этим.

Да, чаще вылеты происходят именно во время просмотра браузера, реже при подлёте к какому-либо объекту.
GatesofAmalgamДата: Воскресенье, 19.05.2013, 15:53 | Сообщение # 12
Исследователь
Группа: Пользователи
Российская Федерация
Сообщений: 158
Награды: 0
Статус: Offline
Кинул SE на рамдрайв от Primo Ramdisk (использую его для файла подкачки). Изменений в работе SE не заметил.

i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64
GodModeДата: Воскресенье, 19.05.2013, 18:44 | Сообщение # 13
Нет аватара
Космонавт
Группа: Пользователи
Российская Федерация
Сообщений: 50
Награды: 0
Статус: Offline
Цитата (SpaceEngineer)
- шейдеры (делается это тоже только один раз, и лаги вызваны медленной компиляцей. Если у вас NVidia, можно включить кэширование скомпилированных шейдеров, и загружать их все при запуске SE - это займёт всего несколько секунд).

Это в настройках видюхи или SE?
GatesofAmalgamДата: Воскресенье, 19.05.2013, 19:24 | Сообщение # 14
Исследователь
Группа: Пользователи
Российская Федерация
Сообщений: 158
Награды: 0
Статус: Offline
Это в main.cfg "IgnoreShaderBinary false" я так понимаю.

i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64
DoctorHaiderДата: Понедельник, 20.05.2013, 11:42 | Сообщение # 15
Нет аватара
Космический турист
Группа: Пользователи
Российская Федерация
Сообщений: 37
Награды: 0
Статус: Offline
Цитата (oleg999)
Да, чаще вылеты происходят именно во время просмотра браузера


под браузером имеется в виду панель с планетами, вызываемая по F2?

Меня мучают вылеты при подлетах и взлетах-посадках sad

Видимо, ноута с 1Gb видяхой маловато...
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

>