MATLAB ® может столкнуться с проблемами низкого уровня при создании графики в системе. Например, ребра полос могут отсутствовать в гистограммах, стебли могут отсутствовать в гистограммах или на графическом оборудовании может не хватать памяти. Эти проблемы могут возникнуть при создании 2-D или 3-D диаграмм, с помощью модели Simulink ®, содержащей области, или с помощью пользовательских интерфейсов из панели инструментов 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 автоматически переключается на программную реализацию:
Если в системе отсутствует необходимое графическое оборудование.
Если вы используете графический драйвер с известными проблемами, старый графический драйвер или виртуализацию графики. Обновите графические драйверы до последних доступных версий.
Если предыдущая сессия MATLAB завершилась сбоем из-за проблемы с графикой. Если предыдущая сессия использовала программное обеспечение OpenGL и потерпела сбой, то последующие сессии используют более стабильную версию программного обеспечения OpenGL, которая имеет меньше возможностей.
Доступность графики с аппаратным ускорением при использовании удаленного рабочего стола в системах Windows различна. Если вы пытаетесь использовать аппаратно ускоренную графику, когда она не поддерживается, MATLAB возвращает предупреждающее сообщение и использует программное обеспечение OpenGL. Возможно, обновление графических драйверов до последних версий обеспечит поддержку аппаратного ускорения графики.
Чтобы определить, какая реализация MATLAB используется, вызовите rendererinfo функция. Например, эта команда получает информацию для текущих осей и сохраняет ее в структуре с именем info.
info = rendererinfo(gca)
GraphicsRenderer поле. Например, если MATLAB использует OpenGL с аппаратным ускорением, поле возвращает 'OpenGL Hardware'. Если используется программное обеспечение OpenGL, поле возвращает значение 'OpenGL Software'.Чтобы указать реализацию OpenGL для текущей сессии MATLAB, используйте один из этих методов.
Программное обеспечение OpenGL - запуск MATLAB из командной строки системы с помощью команды matlab -softwareopengl. Эта команда работает только с системами Windows и Linux. Системы Macintosh не поддерживают программное обеспечение OpenGL.
Базовый OpenGL с аппаратным ускорением - тип opengl hardwarebasic в командной строке MATLAB.
Аппаратно ускоренный OpenGL - тип opengl hardware в командной строке MATLAB.
Чтобы настроить настройки так, чтобы MATLAB всегда начинался с указанной реализации OpenGL, используйте один из этих методов.
Программное обеспечение OpenGL - тип opengl('save','software') в командной строке MATLAB. Затем перезапустите MATLAB.
Базовый OpenGL с аппаратным ускорением - тип opengl('save','hardwarebasic') в командной строке MATLAB. Затем перезапустите MATLAB.
Аппаратно ускоренный OpenGL - тип opengl('save','hardware') в командной строке MATLAB. Затем перезапустите MATLAB.
Отменить настройку - Выполнить opengl('save','none') в командной строке MATLAB. Затем перезапустите MATLAB.
Графическое оборудование с ограниченной графической памятью может привести к низкой производительности или нехватке памяти. Повысьте производительность и устраните проблемы с памятью с помощью следующих изменений:
Используйте меньшие окна фигур.
Отключите сглаживание, установив GraphicsSmoothing свойство фигуры для 'off'.
Не используйте прозрачность.
Используйте программное обеспечение OpenGL.
Если вы не можете решить проблемы с помощью описанных здесь параметров, возможно, вы столкнулись с ошибкой в MATLAB. Обратитесь в службу технической поддержки MathWorks и предоставьте следующую информацию:
Выходные данные, возвращенные info = rendererinfo(gca).
Работает ли код без ошибок при использовании программного обеспечения OpenGL.
Выполняется ли код без ошибок на другом компьютере. Предоставление выходных данных rendererinfo для всех компьютеров, на которых был протестирован код.
Некоторые сообщения об ошибках содержат ссылку на файл с подробными сведениями об обнаруженной графической ошибке. Если ссылка на этот файл предоставлена, включите этот файл в запрос на обслуживание.
Создайте запрос на обслуживание в https://www.mathworks.com/support/contact_us.