ENG Новый сайт

Расширенный поиск
[ Новые сообщения · Пользователи · Правила ]
  • Страница 1 из 4
  • 1
  • 2
  • 3
  • 4
  • »
Устранение ошибок в SpaceEngine 0.96
SpaceEngineerДата: Четверг, 05.07.2012, 23:31 | Сообщение # 1
Автор Space Engine
Группа: Администраторы
Российская Федерация
Сообщений: 5547
Награды: 55
Статус: Offline
Часто причину ошибки можно узнать из файла лога se.log, открыв его в текстовом редакторе. Пожалуйста, при описании ошибки на форуме или по почте обязательно прикладывайте к сообщению этот файл.

1) Устаревшие или несовместимые драйвера.
Если у вас устаревишие драйвера, при запуске SpaceEngine появится окно с одним из слдующих сообщений:

А английской версии:
  • "You have old OpenGL version (2.1.1). Update your graphics card driver or install compatible hardware"
  • "You have old GLSL version (1.2). Update your graphics card driver or install compatible hardware"
  • "Critical extensions missing: GL_ARB_vertex_program GL_ARB_vertex_buffer_object"
  • "Error loading surface generator shaders. Press YES to run program with procedural planets disabled. Press NO to exit"

    А русской версии:
  • "Ваша система имеет старую версию OpenGL (2.1.1). Обновите драйвер графической карты или установите совместимую видеокарту."
  • "Ваша система имеет старую версию GLSL (1.2). Обновите драйвер графической карты или установите совместимую видеокарту."
  • "Критические расширения отсутствуют: GL_ARB_vertex_program GL_ARB_vertex_buffer_object"
  • "Невозможно загрузить шейдеры генератора поверхности. Нажмите ДА для запуска программы с отключенными процедурными планетами. Нажмите НЕТ для выхода"

    Загрузите и установите последнюю версию драйверов для вашей видеокарты. Если Вы все еще получаете данное сообщение, может быть, что у вас есть несовместимые видеокарта (см. следующий пункт). Но вы все равно можете попытаться запустить SpaceEngine, отключив проверку критических ошибок при запуске. Откройте main.cfg и измените значение этого параметра на true:

    IgnoreCriticalCheck true // ignore checking of OpenGL version and critical extensions supporting

    ПРИМЕЧАНИЕ: если у вас несовместимые драйвера и вы вносите это изменение, стабильная и правильная работа SpaceEngine не гарантируется.

    Если у вас ошибка "Error loading surface generator shaders" ("Невозможно загрузить шейдеры генератора поверхности") и вы нажали ДА, SpaceEngine может запуститься, но не сможет генерировать и отображать ландшафт на процедурных планетах.

    2) Слабая система
    Большинство писем о невозможности запустить SpaceEngine приходят от пользователей, у которых встроенная офисная видеокарта Intel или какая-нибудь древняя GeForce 5700, или не "игровой" ноутбук. Тут выхода нет, обновите систему. Не планируется делать вторую версию движка для слабых систем с упрощённой графикой, генерацией текстур на процессоре и т.д. Это всё равно, что написать ещё один движок. Ещё раз напомню минимальные системные требования, которые можно увидеть на главной странице:

    Процессор 2 ГГц
    Оперативня память 2 Гб
    Видеокарта с выделенной памятью 512 Мб и поддержкой OpenGL 3.0

    Подчеркну, что особую роль играет объём памяти видеокарты (vRAM). 512 Мб - абсолютный минимум. Движок использует большие объёмы данных, которые должны быть в видеопамяти (текстуры, меши, vbo). Если ваша система удовлетворяет рекомендуемым требованиям, движок должен работать:

    Процессор 3 ГГц
    Оперативня память 2 Гб
    Видеокарта с выделенной памятью 1024 Мб и поддержкой OpenGL 3.0

    Можно попытаться запустить движок, отключив некоторые расширения, если они у вас не поддерживаются или тормозят: 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.

    3) Космические корабли исчезают вдалеке от звёзд
    Это не ошибка. В текущей версии корабли не доделаны - они не рисуются вне планетной системы. Просто представьте, что корабли становятся невидимыми, когда совершают межзвёздный полёт smile

    4) Размытые текстуры на планетах Солнечной системы
    Это не ошибка. Планеты нашей Солнечной системы (Меркурий, Венера, Земля, Луна, Марс, Юпитер, Сатурн, Уран, Нептун и их спутники) не имеют процедурных текстур, а имеют фотографические текстуры, полученные в результате реальных исследований спутниками и зондами. Эти текстуры имеют ограниченный уровнь детализации, в районе 1-10 км на пиксель. Можно увеличить детализацию в несколько раз, скачав и установив дополнения - текстуры планет Солнечной системы высокого разрешения.

    5) Артефакты на процедурных планетах
    Если вы замечаете пропадание блоков ландшафта, размытые текстуры или мигание текстур, странные шпили торчащие из поверхности планеты, попробуйте эти решения:

    a)Если у вас ноутбук с двумя видеокартами, убедитесь, что SE запускается на производительной видеокарте NVidia или ATI, а не на Intel HD. Это можно увидеть в начале лог-файла se.log. Если там написано:

    Vendor: Intel
    Renderer: Intel® HD Graphics 4000

    то вам необходимо открыть Панель управления NVidia (NVidia Control Panel) или ATI Catalyst и указать в настройках SpaceEngine.exe, чтобы он запускался на видеокарте NVidia/ATI. Если SpaceEngine.exe нет в списке программ, создайте новый профиль для него.

    b)Убедитесь, что вы сделали "чистую" установку SpaceEngine, т.е. в новую папку. При установке новой версии поверх старой, вы можете получить много ошибок и глюков. Если вы получаете какие-то ошибки после установки обновления, удалите папку кэша (cache/) из каталога SpaceEngine.

    c) Отключите опцию "Быстрая загрузка ландшафта" ("Fast landscape loading") в меню графических настроек (Ctrl+F4).

    d) Если это не помогает, читайте следующий пункт.

    6) Частые падения при загрузке поверхности планеты
    Если у вас частые падения SpaceEngine на планетах, или на экране появляется сообщение "OUT OF MEMORY", или сообщение "Unexpected deleting of child node" в лог-файле, попробуйте сначала предпринять следующие действия:

  • Отключите опцию "Быстрая загрузка ландшафта" ("Fast landscape loading") в меню графических настроек (Ctrl+F4)
  • Отключите опцию "3D вода" ("3D water") в меню графических настроек (Ctrl+F4)
  • Уменьшите "LOD ландшафта" ("Landscape LOD") до значения -2 в меню графических настроек (Ctrl+F4)
  • Уменьшите значение переметра VideoMemoryMaxPercent в main.cfg до 70...80

    Если это не погает, читайте дальше:

    a)Обязательно закройте все программы, которые могут использовать видеопамять (игры, видеоплееры, графические редакторы и т.д.). SpaceEngine - не флэш игра, для него видеопамять - самый главный ресурс. Может помочь отключиние Windows Aero - оно потребляет много видеопамяти.

    b) Откройте se.log и посмотрите в его начале, правильно ли определился объем памяти видеокарты:

    Total video memory: 1024 Mb
    Available video memory: 981 Mb
    Dynamic video memory detection disabled.


    Если после Available video memory написана величина, существенно меньшая, чем реальный объём вашей видеопамяти, значит запущены какие-то программы, активно использующие видеопамять - см. пункт "a". Если написано

    Dynamic video memory detection unsupported. Value 1024 Mb from config will be used.

    или

    Can't determine total video memory size. Value 1024 Mb from config will be used.

    это значит что ваш драйвер не поддерживает определение объема видеопамяти. Если обновление драйвера не помогло, укажите объем видеопамяти в конфиге main.cfg:

    VideoMemorySize 768 // объем вашей видеопамяти в Мб
    VideoMemoryMaxPercent 90 // сколько процентов видеопамяти можно использовать движку
    VideoMemoryStartupDetect false // false - отключить автоматическое определение объема видеопамяти при запуске
    VideoMemoryDynamicDetect false // false - отключить автоматическое определение объема видеопамяти в рантайме


    Если после этого глюки или падения продолжаются, попробуйте уменьшить или увеличить параметр

    VideoMemoryMaxPercent 75 // сколько процентов видеопамяти можно использовать движку

    Но не делайте его равным 100, ведь Windows тоже использует около 20-30 Мб видеопамяти.

    c) Если у вас меньше 512 Мб видеопамяти, откройте меню графических настроек (Ctrl+F4), отключите "3D воду" ("3D water") и уменьшите "LOD ландшафта" ("Landscape LOD") до значения -2. Потом пропбуйте отключить процедурные галактики и звёзды. В этом случае вы можете летать в окрестностях Солнца среди звёзд каталога HIPPARCOS и посещать их планеты. Отключение делается в меню настроек показа объектов (Show objects), которое вызывается нажатием клавиши F4. Необходимо отключить процедурные галактики (Galaxies -> Procedural), процедурные звёзды (Stars -> Procedural) и процедурные планеты (Planets -> Procedural). Если не отключить процедурные планеты, то процедурные звёзды будут продолжать использоваться. Отключать процедурные планеты у звёзд каталога (Planets -> Procedural on catalog stars) не нужно, они не влияют на это.
  • SpaceДата: Понедельник, 09.07.2012, 14:52 | Сообщение # 2
    Нет аватара
    Космический турист
    Группа: Пользователи
    Украина
    Сообщений: 36
    Награды: 0
    Статус: Offline
    У меня вылетает при загрузке текстур пишет nvidia driver opengl в обще даже таких ошибок не было раньше
    system1024Дата: Понедельник, 09.07.2012, 14:57 | Сообщение # 3
    Исследователь
    Группа: Пользователи
    Российская Федерация
    Сообщений: 190
    Награды: 0
    Статус: Offline
    Quote (Space)
    У меня вылетает при загрузке текстур пишет nvidia driver opengl в обще даже таких ошибок не было раньше


    Я думаю лучше вопрос задать в соответствующей теме, с более подробным описанием и логом


    "- Ничто так не меняет человека, как космос и переходный возраст" © Ники Буян

    AMD FX 4100 4.41 Ghz
    Nvidia GeForce 550 Ti 1 Gb
    RAM 8 Gb 1600 Mhz
    OS Win 7 Ultimate x64
    IvGradДата: Воскресенье, 15.07.2012, 00:03 | Сообщение # 4
    Нет аватара
    Космический пилот
    Группа: Пользователи
    Российская Федерация
    Сообщений: 126
    Награды: 1
    Статус: Offline
    SpaceEngineer

    Заметил такую особенность - если исследовать планету на шаттле, то SpaceEngine 0.9.6.1 beta
    больше не вылетает. Хотя быть может связано это с тем, что при полёте - поверхность планеты
    не так детально прорисовывается, как при исследовании в режиме камеры.

    И вопрос - возможно ли реализовать управление вектором движения шаттла с помощью мыши?
    GatesofAmalgamДата: Воскресенье, 15.07.2012, 03:00 | Сообщение # 5
    Исследователь
    Группа: Пользователи
    Российская Федерация
    Сообщений: 158
    Награды: 0
    Статус: Offline
    Почему не так детально то? Полет получается медленнее, ландшафт генерируется постепенно, не так как с камерой - сразу всё с максимальной нагрузкой.
    Или я чего-то не учел?


    i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64
    IvGradДата: Воскресенье, 15.07.2012, 07:43 | Сообщение # 6
    Нет аватара
    Космический пилот
    Группа: Пользователи
    Российская Федерация
    Сообщений: 126
    Награды: 1
    Статус: Offline
    GatesofAmalgam

    Наоборот. Полёт обычно происходит на большей высоте над поверхностью, чем при исследовании камерой.
    И скорость при полёте обычно выше. Ландшафт просто не успевает генерироваться в полном объёме.
    Отсюда и отсутствие вылетов. Опять же наводит на размышления следующее сообщение:

    Quote
    Изменён алгоритм расчёта детализации планет - вблизи камеры детализация всегда высокая (как при LOD 0)
    для любого LOD

    Ведь вылеты обычно происходят после того, как ландшафт десяток раз полностью генерируется вблизи камеры.


    Сообщение отредактировал IvGrad - Воскресенье, 15.07.2012, 07:43
    CrabДата: Воскресенье, 15.07.2012, 13:49 | Сообщение # 7
    Первооткрыватель
    Группа: Модераторы
    Российская Федерация
    Сообщений: 444
    Награды: 1
    Статус: Offline
    Мне помогло отключение автодетекта видеопамяти и установки её около 1024.

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

    Ценный совет!!! Достаточно было выставить в config/main.cfg объём памяти видеоадаптера = 2048 Мб
    и запретить VideoMemoryStartupDetect, как вылеты полностью прекратились.

    Code
    // memory settings
    VideoMemorySize             2048    // video card onboard memory (VRAM) in megabytes
    VideoMemoryMaxPercent       85  // max VRAM consumption (percents)
    VideoMemoryStartupDetect    false    // use auto detection of VRAM size on startup, otherwise use VideoMemorySize value
    VideoMemoryDynamicDetect    true    // use auto detection of available amount of VRAM in runtime

    По всей видимости связано это с тем, что после данных манипуляций SpaceEngine использует уже ~ 2 Гб ОЗУ.
    Следовательно - "узким местом" приводящим к вылетам является то, что SpaceEngine использует объём ОЗУ
    равный объёму памяти видеоадаптера, а этого явно недостаточно.

    Рассмотрим частный случай. Если пользователь владеет видеоадаптером с объёмом памяти 2048 Мб, то ему
    уже будет необходимо выставить в config/main.cfg объём памяти видеоадаптера = 3-4 Гб,
    для возможности использования такого же объёма ОЗУ.

    Но SpaceEngine изначально не поддерживает объём ОЗУ свыше 2 Гб. Следовательно, будет необходимо
    пропатчить исполняемый файл SpaceEngine.exe с помощью этой программы, для поддержки ключа
    LARGE_ADDRESS_AWARE (can handle >2Gb Addresses).

    Но работает этот ключ только в 64-разрядных ОС!!!


    Сообщение отредактировал IvGrad - Воскресенье, 15.07.2012, 16:57
    CrabДата: Воскресенье, 15.07.2012, 17:36 | Сообщение # 9
    Первооткрыватель
    Группа: Модераторы
    Российская Федерация
    Сообщений: 444
    Награды: 1
    Статус: Offline
    Я думаю что если у тебя 2048 МБ видеопамяти, то тебе не потребуется выставлять больший объем. Так как это вызовет лаги.

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

    У меня, к сожалению, только 1024 МБ видеопамяти. Но в качестве эксперимента я сделал следующее:

    1) Добавил в SpaceEngine.exe ключ LARGE_ADDRESS_AWARE (для поддержки свыше 2 Гб ОЗУ)

    2) Выставил в config/main.cfg следующие значения:

    Code
    // memory settings
    VideoMemorySize             3072    // video card onboard memory (VRAM) in megabytes
    VideoMemoryMaxPercent       85  // max VRAM consumption (percents)
    VideoMemoryStartupDetect    false    // use auto detection of VRAM size on startup, otherwise use VideoMemorySize value
    VideoMemoryDynamicDetect    true    // use auto detection of available amount of VRAM in runtime

    // loading settings
    StartupPreloading  false    // preload some shaders, textures, models on startup

    3) Запустил SpaceEngine и нагрузил по полной biggrin

    В итоге, как и предполагалось, SpaceEngine и ОС "скушали" практически все мои 4 Гб ОЗУ.
    Лагов и вылетов не наблюдалось happy

    Так что экспериментально была доказана возможность использования SpaceEngine свыше 2 Гб ОЗУ smile

    Вопрос в другом. Существует ли необходимость использования увеличенного объёма ОЗУ
    для 2 Гб видеокарт? Ибо при таком объёме видеопамяти вылеты могут и не наблюдаться. dry
    GatesofAmalgamДата: Понедельник, 16.07.2012, 21:35 | Сообщение # 11
    Исследователь
    Группа: Пользователи
    Российская Федерация
    Сообщений: 158
    Награды: 0
    Статус: Offline
    Тоже пропятчил на LAA, отключил автоопределение объёма памяти, выставил 3096мб свободных и до 95%. Стало заметно лучше! Однако все равно вылетает если подобраться близко к поверхности, но не сразу как то. Вроде незадолго перед вылетом SE начинает грузить какие-то меши пачками. Уведомление о подгрузке не исчезает, только с огромной скоростью меняется. Вскоре после этого происходит вылет.

    i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64

    Сообщение отредактировал GatesofAmalgam - Понедельник, 16.07.2012, 21:36
    IvGradДата: Вторник, 17.07.2012, 00:19 | Сообщение # 12
    Нет аватара
    Космический пилот
    Группа: Пользователи
    Российская Федерация
    Сообщений: 126
    Награды: 1
    Статус: Offline
    GatesofAmalgam

    95% - это слишком много!!! Оставьте 85%, ибо Aero "съедает" ~ 13% видеопамяти.
    Оставьте включённым параметр "VideoMemoryDynamicDetect", отключите параметры
    "VideoMemoryStartupDetect" и "StartupPreloading". Замените "3096" на "2048".

    После данных манипуляций вылеты должны прекратиться.



    Сообщение отредактировал IvGrad - Вторник, 17.07.2012, 00:25
    GatesofAmalgamДата: Вторник, 17.07.2012, 00:33 | Сообщение # 13
    Исследователь
    Группа: Пользователи
    Российская Федерация
    Сообщений: 158
    Награды: 0
    Статус: Offline
    Не уверен что при таких настройках максимального объема видеопамяти имеет смысл ставить 85%. Однако попробую.

    "Аэро съедает 13% видеопамяти" - звучит странно. Это что ж, занимаемая Аэро память зависит от максимального объема видеопамяти? happy

    Завтра попробую поглядеть сколько SE кушает перед очередным пришествием рабочего стола.


    i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64
    IvGradДата: Вторник, 17.07.2012, 00:50 | Сообщение # 14
    Нет аватара
    Космический пилот
    Группа: Пользователи
    Российская Федерация
    Сообщений: 126
    Награды: 1
    Статус: Offline
    GatesofAmalgam

    1) У меня 1 Гб видеокарта и Aero потребляет ~ 13% видеопамяти, сколько у Вас - посмотрите сами в GPU-Z.
    2) "VideoMemoryDynamicDetect" остаётся включённым, поэтому % использования имеет значение.
    3) Выставление объёма видеопамяти вручную преследует цель увеличить доступный объём ОЗУ.

    Экспериментируйте. У меня лично вылетов больше не наблюдается. Как доказательство в предыдущем
    сообщении привёл скрины ландшафта генерированного при LOD=2. Раньше при таком значении LOD
    на процедурных планетах - SpaceEngine вылетал.
    GatesofAmalgamДата: Вторник, 17.07.2012, 01:19 | Сообщение # 15
    Исследователь
    Группа: Пользователи
    Российская Федерация
    Сообщений: 158
    Награды: 0
    Статус: Offline
    По логике вещей получается: Мы ставим 2гб видеопамяти, то есть в любом случае SE будет пытаться потреблять больше чем есть физически. Я понимаю так, будет гонять часть через PCI-E(для чего она, собственно, и была создана). В чем же тогда смысл VideoMemoryMaxPercent при такой конфигурации SE? Мы ставим два гига видео, от них -15%, получаем что SE может сожрать 1700мб, то есть все равно больше чем видеопамять, и Аэро, для которого мы "оставляем 15%" все равно "не поместится" в физическую память. Тогда смысл ставить эти 85? Или VideoMemoryMaxPercent все таки определяет максимальный процент занимаемый SE в физической видеопамяти? Или от свободного объема в физической памяти?
    Тогда надо бы эти настройки как-то переименовать что ли. А то там везде фигурирует VideoMemory, но, в разных настройках оно, получается, обозначает разные понятия.

    Непонятно тут как-то все. Надо чтобы уважаемый SpaceEngineer разъяснил.


    i5 2500k@4.0ггц - 24гб RAM - GTX 570, 1280мб - SSD 240гб Intel 520 - Win7x64

    Сообщение отредактировал GatesofAmalgam - Вторник, 17.07.2012, 01:39
    • Страница 1 из 4
    • 1
    • 2
    • 3
    • 4
    • »
    Поиск:

    >