Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Статьи
        Переводы с других сайтов
            LWJGL Вики
                2.5. Устранение неполадок

2.5. Устранение неполадок

Опубликованно: 12.11.2018, 12:06
Последняя редакция, Andry: 12.11.2018 16:42

Общий

Нижеприведенные параметры обычно полезны, независимо от используемых привязок LWJGL.

Простые проверки

LWJGL выполняет несколько проверок во всех привязках и внутреннем коде. Эти проверки сосредоточены главным образом на обнаружении общих ошибок, которые могут привести к сбою процесса работы JVM. Примеры:

  • Если вызывается необязательная функция (например, функция расширения OpenGL), LWJGL проверяет и выдает исключение NullPointerException, если оно недоступно.
  • Если параметр указателя функции или член структуры никогда не должен быть равен NULL, LWJGL проверяет и выдает исключение NullPointerException, если оно есть.
  • Если параметр буфер функции или член структуры должен иметь определенный минимальный размер, LWJGL проверяет и выдает исключение IllegalArgumentException, если оно есть.

Эти проверки, как правило, оказывают низкую нагрузку на систему и потому не должны оказывать заметного влияния на производительность, поэтому они включены по умолчанию, и их отключение не рекомендуется, особенно во время разработки. Для обеспечения оптимальной производительности в конечных сборках их можно отключить с помощью -Dorg.lwjgl.util.NoChecks=true или Configuration.DISABLE_CHECKS.set(true).

Отключенные LWJGL проверки не оказывают нагрузку во время выполнения. Но, судя по Java утверждениям (assertion), они увеличивают размер байт-кода окружающих методов. В редких случаях это может повлиять на принятие решений JVM и в конечном итоге повлиять на производительность. Если такая проблема была обнаружена, то в этом случае LWJGL можно собрать с удалением всех проверок, задав binding.DISABLE_CHECKS в config/build-bindings.xml в true.

Режим отладки

LWJGL выполняет дополнительные, более дорогие проверки, когда режим отладки включен с -Dorg.lwjgl.util.Debug=true или Configuration.DEBUG.set(true). Это должен быть первый вариант, который можно использовать при столкновении с LWJGL. Режим отладки также создает дополнительный выход (по умолчанию stderr, может быть переопределен с Configuration.DEBUG_STREAM) и требуетс