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
Опередил.
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) а вторая - скорость загрузки/генерации текстур. На скорость загрузки текстур - да, это повилияет. На скорость генерации - никак. Генерация текстур происходит на видеокарте, и диск к ней отношения не имеет. Только если видеопамяти так мало, что драйверу приходится выгружать текстуры в оперативную память, но и оперативной так мало, что винде приходится выгружать данные в своп. Но это уж совсем тяжёлый случай
Загружаются с диска только:
- текстуры планет Солнечной системы - текстуры и модели галактик, туманностей и кораблей - модели атмосфер (но делается это один раз, они потом никуда не выгружаются) - шейдеры (делается это тоже только один раз, и лаги вызваны медленной компиляцей. Если у вас 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?
Меня мучают вылеты при подлетах и взлетах-посадках
Видимо, ноута с 1Gb видяхой маловато...
|
|
| |