Это почти что копия предыдущей темы о падениях версий 0.84 и 0.90, с учётом изменений, появившихся в 0.93
Часто причину ошибки можно узнать из файла лога se.log, открые его в текстовом редакторе. 1) Слабая система
Большинство писем о невозможности запустить SpaceEngine приходят от пользователей, у которых встроенная офисная видеокарта Intel или какая-нибудь древняя GeForce 5700, или не "игровой" ноутбук. Тут выхода нет, обновите систему. Не планируется делать вторую версию движка для слабых систем с упрощённой графикой, генерацией текстур на процессоре и т.д. Это всё равно, что написать ещё один движок. Ещё раз напомню минимальные системные требования, которые можно увидеть на главной странице:
CPU 2.0 GHz
RAM 2 Gb
Video GeForce 6800, ATI 3850
vRAM 512 Mb
Подчеркну, что особую роль играет объём памяти видеокарты (vRAM). 512 Мб - абсолютный минимум. Движок использует большие объёмы данных, которые должны быть в видеопамяти (текстуры, меши, vbo). Указанные видеокарты это так, "на глазок" по таблицам сравнения, которые можно найти в интеренте. Они могут быть и ошибочны. А вот если ваша система удовлетворяет рекомендуемым требованиям, то движок должен работать, потому что на этих картах ведётся его разработка:
CPU 3.0 GHz
RAM 2 Gb
Video GeForce 9800 GTX, ATI Mobility HD 5730
vRAM 1024 Mb
Можно попытаться запустить движок, отключив некоторые расширения, если они у вас не поддерживаются или тормозят: frame buffer objects, half float, float текстуры и 3D текстуры. Информация об этом пишется в самом начале лога (файл se.log в корневой папке программы), после списка расширений:
Framebuffer objects supported
Half floats suppoted
Floating-point pixel format: GL_RGBA16F_ARB
3D textures suppoted
Если где-то написано unsupported, значит расширение не поддерживается и движок сам его отключил. Если у вас вроде бы поддерживаются float и 3D текстуры, но при этом атмосферы планет чудовищно тормозят, как например на GeForce 6200 и GeForce 6600, то лучше отключить их принудительно. Это делается в файле config/main.cfg:
r_IgnoreFBO false // не отключать frame buffer objects
r_IgnoreHalfFloat false // не отключать half float
r_IgnoreFloatTextures true // отключить float текстуры
r_Ignore3DTextures true // отключить 3D текстуры
Справка:
- Атмосферы используют float и 3D текстуры. Отключение любого из них отключает атмосферы. Режим HDR рендеринга использует float текстуры, отключение их отключает HDR.
- Звёзды, галактики и все далёкие объекты в виде точек используют half float. Отключение half float не отключает звёзды и т.д., но приводит к большему потреблению памяти (используются float вершинные буферы).
- Млечный Путь и другие близкие галактики и туманности используют FBO. Режим HDR рендеринга также использует FBO. Отключение FBO отключает модели галактик и туманностей и отключает режим HDR.
2) Старые драйвера. В начале лога пишется версия OpenGL:
OpenGL version: 3.3.0
Если у вас версия меньше, чем 3.2.0 (2.1.1 и т.д.), обновите видеодрайвер.
3) Сообщение OUT_OF_MEMORY или OUT_OF_TEXTURE_MEMORY и падение после этого. Возникает при заполнении кэша в видеопамяти данными (текстуры планет, процедурные звёзды и т.д.), после чего видеодрайвер приводит к падению программы (или падает сам :)). Возможные способы устранения:
a) Закройте все программы, которые могут использовать видеопамять (игры, видеоплееры, графические редакторы и т.д.).
b) Откройте se.log и посмотрите в его начале, правильно ли определился объем памяти видеокарты:
Total video memory: 1024 Mb
Available video memory: 981 Mb
Dynamic video memory detection disabled.
Если написано
Dynamic video memory detection unsupported. Value 512 Mb from config will be used.
или
Can't determine total video memory size. Value 512 Mb from config will be used.,
это значит что ваш драйвер не поддерживает определение объема видеопамяти. Если обновление драйвера не помогло, укажите объем видеопамяти в конфиге main.cfg:
r_vram_Size 512 // объем видеопамяти в Мб
r_vram_StartupDetect false // false - отключить автоматическое определение объема видеопамяти при запуске
r_vram_DynamicDetect false // false - отключить автоматическое определение объема видеопамяти в рантайме
Если после этого падения продолжаются, попробуйте уменьшить или увеличить параметр
r_vram_MaxPercent 75 // максимальное количество видеопамяти (%) для использования SpaceEngine
Но не делайте его равным 100, ведь Windows занимает 20-30 Мб.
c) Если у вашей видеокарты много памяти (1024 Мб и более), попробуйте включить автоматическое определение доступной памяти в процессе работы:
r_vram_StartupDetect true // true - включить автоматическое определение объема видеопамяти при запуске
r_vram_DynamicDetect true // true - включить автоматическое определение объема видеопамяти в рантайме
Если у вас 512 Мб и меньше, не включайте этот режим!
d) Установите для SpaceEngine режим совместимости с Windows XP.
4) Падение вблизи планет на видеокартах ATI. Это иногда происходит при генерации мипмапов текстур ландшафта. В конфиге main.cfg есть параметр, который запрещает создание мипмапов:
r_BugMipmaps true // true - запретить мипмапы
В версии 0.93 он по умолчанию установлен в true. Если у вас видеокарта NVidia, поменяйте на false, это увеличит качество текстурирования планет.
5) Отсутствуют атмосферы планет, или планеты рисуются черными шарами, или падает при расчете модели атмосферы. Если у вас не поддерживаются геометрические шейдеры или по каким-то другим причинам не генерируются модели атмосфер (в папке cache/models/atmospheres), скачайте их отсюда. В версии 0.93 модели уже включены в архив. Если вы их удалили, а новые не сгенерировались автоматически, скачайте их по приведённой выше ссылке.
6) Падение или зависание после активных полётов по галактике. Происходит из-за переполнения видеопамяти вершинными буферами процедурно генерируемых звёзд. Особенно быстро память заполняется в центре галактики. В Windows 7 / Vista это почему-то приводит к вылету программы с ошибкой или её зависанию, вместо того, чтобы драйвер вытолкнул старые данные из видеопамяти в системную, как это происходит в Windows XP. Установка режима совместимости с Windows XP может решить эту проблему, но возможно начнутся сильные тормоза. В этом случае просто выйдите из программы и запустите её вновь, при правильном завершении ваша позиция во Вселенной запомнится.
Поможет также полное отключение процедурных звёзд. В этом случае вы можете летать в окрестностях Солнца среди звёзд каталога HIPPARCOS и посещать их планеты. Отключение делается в меню настроек показа объектов (Show objects), которое вызывается нажатием клавиши F4. Необходимо отключить процедурные звёзды (Stars -> Procedural) и процедурные планеты (Planets -> Procedural). Если не отключить процедурные планеты, то процедурные звёзды будут продолжать использоваться. Отключать процедурные планеты у звёзд каталога (Planets -> Procedural on catalog stars) не нужно, они не влияют на это.
7) Не корректно рисуются планеты, отсутствуют кольца Сатурна и других окольцованных планет, и прочие непонятные глюки, возникшие после установки обновления. Удалите папку cache. Ошибка возникает из-за установки новой версии поверх ранее запускавшейся старой. В результате кэше остаются шейдеры, модели и прочее от старой версии, а некоторые из них могут быть не совместимы с новой.