Здесь я опишу самые распространённые причины падения при запуске, которые выявлены. В будщих версиях многие из них будут исправлены:) 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 ATI 3850 GeForce 9800 GTX, ATI 4870
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) Не определялся объём видеопамяти в версии 0.84 на картах ATI. В версии 0.90 это исправлено, но на всякий случай можно проверить. Определившийся объём пишется в начале se.log:
Total video memory: 1024 Mb
Available video memory: 978 Mb
Если стоят нули, укажите объём вручную в конфиге /config/main.cfg:
r_VideoMemory 1024
Не стоит указывать больше, чем реально есть:)
4) Сообщение OUT_OF_MEMORY или OUT_OF_TEXTURE_MEMORY возникает в версии 0.84 при заполнении видеопамяти данными. В версии 0.90 ошибка исправлена (почти, см. пункт 6), поэтому просто установите 0.90 поверх 0.84.
5) Падение вблизи планет на видеокартах ATI. Это иногда происходит при генерации мипмапов текстур ландшафта. В конфиге /config/main.cfg есть параметр, который запрещает создание мипмапов:
r_BugMipmaps true // true = запретить мипмапы
В версии 0.90 оно по умолчанию установлено в true. Если у вас видеокарта NVidia, поменяйте на false, это увеличит качество текстурирования планет.
6) Падение при расчете модели атмосферы. Если у вас не поддерживаются геометрические шейдеры или по каким-то другим причинам не генерируются модели атмосфер (в папке cache/models/atmospheres), скачайте их отсюда. В версии 0.90 модели уже включены в архив. Если вы их удалили, а новые не сгенерировались автоматически, скачайте их по приведённой выше ссылке.
7) Падение или зависание после активных полётов по галактике. Происходит из-за переполнения видеопамяти вершинными буферами процедурно генерируемых звёзд. Особенно быстро память заполняется в центре галактики. В Windows 7 / Vista это почему-то приводит к вылету программы с ошибкой или её зависанию, вместо того, чтобы драйвер вытолкнул старые данные из видеопамяти в системную, как это происходит в Windows XP. Установка режима совместимости с Windows XP может решить эту проблему, но возможно начнутся сильные тормоза. В этом случае просто выйдите из программы и запустите её вновь, при правильном завершении ваша позиция во Вселенной запомнится.
8) Не рисуются кольца Сатурна и других окольцованных планет. Удалите в папке cache папку shaders. Ошибка возникает из-за установки весрии 0.90 поверх ранее запускавшейся 0.84. В результате кэше остаются шейдеры от версии 0.84, а некоторые из них не совместимы с 0.90, в частности, шейдеры колец.