Решение вопросов низкоуровневой графики

MATLAB® может столкнуться с низкоуровневыми проблемами при создании графики в системе. Например, ребра панели могут отсутствовать в столбчатых диаграммах, основы могут отсутствовать в диаграммах стебель-листья, или ваше аппаратное обеспечение машинной графики может исчерпать память. Можно столкнуться с этими проблемами при создавании 2D или 3-D графиков, использовании модели Simulink®, которая содержит осциллографы, или использующий UIs от тулбокса MathWorks®. Эти проблемы часто происходят из-за более старого аппаратного обеспечения машинной графики или устаревших графических драйверов. Чтобы разрешить их, попробуйте опции, описанные здесь.

Обновление драйверов аппаратного обеспечения машинной графики

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

  • В системах Windows® проверяйте на обновления драйвера на веб-сайте вашего производителя, такие как Lenovo®, HP® или Dell®. Если никакие обновления не обеспечиваются, то проверяйте веб-сайт своего поставщика аппаратного обеспечения машинной графики, такого как AMD , NVIDIA или Intel .

  • В системах Linux® используйте собственные драйверы поставщика вместо замен с открытым исходным кодом.

  • В системах Macintosh графические драйверы являются частью операционной системы. Используйте последние обеспеченные обновления.

Используйте аппаратное обеспечение машинной графики, которое поддерживает аппаратно ускоренную реализацию OpenGL® 2.1 или позже. Большая часть аппаратного обеспечения машинной графики, выпущенного с тех пор 2006, имеет OpenGL 2.1 или позже. Если у вас есть более ранняя версия OpenGL, большинство графических функций все еще работает, но некоторые усовершенствованные графические функции недоступны. Для лучшей производительности, OpenGL 4.0 или позже рекомендован. Для получения дополнительной информации об определении вашего аппаратного обеспечения машинной графики смотрите rendererinfo.

Выберите реализацию средства отображения для своей системы

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

В некоторых случаях MATLAB автоматически переключается на реализацию программного обеспечения:

  • Если ваша система не имеет необходимого аппаратного обеспечения машинной графики.

  • Если вы используете графический драйвер с известными проблемами, более старый графический драйвер NVIDIA® или графическую виртуализацию. Обновите свои графические драйверы к доступным последним версиям.

  • Если предыдущий сеанс работы с MATLAB, разрушенный из-за графической проблемы. Если предыдущий сеанс использовал программное обеспечение OpenGL и разрушенный, то последующие сеансы используют более стабильную версию программного обеспечения OpenGL, которое имеет меньше возможностей.

Доступность аппаратно ускоренной графики при использовании удаленного рабочего стола в системах Windows отличается. При попытке использовать аппаратно ускоренную графику, когда она не поддержана, MATLAB возвращает предупреждающее сообщение и использует программное обеспечение OpenGL вместо этого. Возможно, что обновление ваших графических драйверов к последним версиям включит поддержку аппаратно ускоренной графики.

Чтобы определить, который использует реализация MATLAB, вызовите функцию rendererinfo. Например, эта команда получает информацию для текущей системы координат и хранит ее в структуре под названием info.

info = rendererinfo(gca)
Эта структура также обеспечивает имя графического средства отображения в поле GraphicsRenderer. Например, если MATLAB использует, аппаратно ускорил OpenGL, поле возвращает 'OpenGL Hardware'. Если это использует программное обеспечение OpenGL, поле возвращает 'OpenGL Software'.

Определение реализации OpenGL для текущего сеанса

Чтобы задать реализацию OpenGL для текущего сеанса MATLAB, используйте один из этих методов.

  • Программное обеспечение OpenGL — Запускает MATLAB с командной строки в вашей системе с помощью команды matlab -softwareopengl. Эта команда работает только системы Linux и Windows. Системы Macintosh не поддерживают программное обеспечение OpenGL.

  • Основной аппаратно ускоренный OpenGL — Тип opengl hardwarebasic в подсказке команды MATLAB.

  • Аппаратно ускоренный OpenGL — Тип opengl hardware в подсказке команды MATLAB.

Определение реализации OpenGL для будущих сеансов

Чтобы установить ваши настройки так, чтобы MATLAB всегда запустился с заданной реализации OpenGL, используйте один из этих методов.

  • Программное обеспечение OpenGL — Тип opengl('save','software') в подсказке команды MATLAB. Затем перезапуск MATLAB.

  • Основной аппаратно ускоренный OpenGL — Тип opengl('save','hardwarebasic') в подсказке команды MATLAB. Затем перезапуск MATLAB.

  • Аппаратно ускоренный OpenGL — Тип opengl('save','hardware') в подсказке команды MATLAB. Затем перезапуск MATLAB.

  • Установка Undo preference — Выполняет opengl('save','none') в командной строке MATLAB. Затем перезапуск MATLAB.

Устранение проблем с недостатком памяти

Аппаратное обеспечение машинной графики с ограниченной видеопамятью может вызвать низкую производительность или привести к проблемам из памяти. Улучшайте производительность и работайте вокруг проблем памяти с этими изменениями:

  • Используйте меньшие окна рисунка.

  • Выключите сглаживание путем установки свойства GraphicsSmoothing фигуры к 'off'.

  • Не используйте прозрачность.

  • Используйте программное обеспечение OpenGL.

Контакт с технической поддержкой

Если вы не можете решить вопросы с помощью опций, описанных здесь, то вы можете столкнуться с ошибкой в MATLAB. Свяжитесь с технической поддержкой MathWorks и предоставьте следующую информацию:

  • Выходной параметр возвращен info = rendererinfo(gca).

  • Запускается ли ваш код без ошибки при использовании программного обеспечения OpenGL.

  • Запускается ли ваш код без ошибки на различном компьютере. Обеспечьте вывод rendererinfo для всех компьютеров, по которым вы протестировали свой код.

  • Некоторые сообщения об ошибке содержат ссылку на файл с деталями о графической ошибке, с которой вы столкнулись. Если ссылка на этот файл обеспечивается, включайте этот файл со своим запросом на обслуживание.

Создайте запрос на обслуживание по https://www.mathworks.com/support/contact_us.

Смотрите также

|

Похожие темы