Resolver problemas con los gráficos de nivel bajo
MATLAB® puede detectar problemas de nivel bajo al crear gráficas en su sistema. Por ejemplo, es posible que los bordes de las barras no estén en las gráficas de barras, que los puntos no estén en las gráficas de puntos o que el hardware de su gráfica se quede sin memoria. Puede detectar estos problemas al crear gráficas 2D o 3D, utilizando un modelo Simulink® que contenga ámbitos o utilizando IU de una toolbox de MathWorks®. Estos problemas a menudo se producen debido a hardware gráfico antiguo o drivers gráficos anticuados. Para resolverlos, pruebe las opciones descritas aquí.
Actualizar sus drivers para hardware gráfico
Los proveedores de hardware gráfico ofrecen con frecuencia drivers gráficos actualizados que mejoran el rendimiento del hardware. Para contribuir a garantizar que el hardware gráfico funcione con MATLAB, actualice los drivers gráficos a las versiones más recientes disponibles.
En los sistemas Windows®, compruebe si hay actualizaciones de drivers en el sitio web de su fabricante, como Lenovo®, HP® o Dell®. Si no se facilitan actualizaciones, compruebe el sitio web de su proveedor de hardware gráfico, como AMD , NVIDIA o Intel .
En sistemas Linux®, utilice los drivers patentados del proveedor en vez de sustitutos de código abierto.
En sistemas Macintosh, los drivers gráficos forman parte del sistema operativo. Utilice las últimas actualizaciones facilitadas.
Utilice el hardware gráfico compatible con una implementación acelerada mediante hardware de OpenGL® 2.1 o posterior. La mayoría del hardware gráfico lanzado a partir de 2006 cuenta con OpenGL 2.1 o posterior. Si cuenta con una versión anterior de OpenGL, la mayoría de las funcionalidades de las gráficas siguen funcionando, aunque no están disponibles algunas funcionalidades gráficas avanzadas. Para obtener el mejor rendimiento, se recomienda OpenGL 4.0 o posterior. Para obtener más información acerca de cómo determinar el hardware gráfico con el que se cuenta, consulte rendererinfo
.
Elegir una implementación del renderizador para su sistema
MATLAB muestra gráficas mediante una implementación de software, implementación básica acelerada mediante hardware o una implementación acelerada mediante hardware del renderizador gráfico. MATLAB intenta utilizar, de forma predeterminada, una implementación acelerada mediante hardware si su hardware gráfico es compatible. Puede solucionar muchos problemas con los gráficos cambiando de una implementación de software o a una implementación acelerada mediante hardware básico. Estas implementaciones alternativas no admiten algunas funcionalidades gráficas avanzadas.
En algunos casos, MATLAB cambia de forma automática a una implementación de software:
Si el sistema no cuenta con el hardware gráfico necesario.
Si está utilizando un driver gráfico con problemas conocidos, un driver gráfico antiguo o virtualizaciones gráficas. Actualice los drivers gráficos a las versiones más recientes disponibles.
Si una sesión anterior de MATLAB se bloqueó por un problema gráfico. Si en la sesión anterior se utilizó un software OpenGL y se bloqueó, utilice en las siguientes sesiones una versión más estable del software OpenGL que cuente con menos funciones.
La disponibilidad de las gráficas aceleradas mediante hardware varía al utilizar escritorios remotos en sistemas de Windows. Si intenta utilizar gráficas aceleradas mediante hardware cuando no son compatibles, MATLAB devuelve un mensaje de advertencia y utiliza en su lugar el software OpenGL. Es posible que el actualizar los drivers gráficos a las versiones más recientes disponibles se active la compatibilidad de las gráficas aceleradas mediante hardware.
Para determinar qué implementación está utilizando MATLAB, llame a la función rendererinfo
. Por ejemplo, este comando obtiene la información de los ejes actuales y los almacena en una estructura llamada info
.
info = rendererinfo(gca)
GraphicsRenderer
. Por ejemplo, si MATLAB está utilizando OpenGL acelerado mediante hardware, el campo devuelve 'OpenGL Hardware'
. Si está utilizando el software OpenGL, el campo devuelve 'OpenGL Software'
.Especificar la implementación OpenGL para la sesión actual
Para especificar una implementación de OpenGL para la sesión actual de MATLAB, utilice una de estas técnicas.
Software de OpenGL: inicie MATLAB desde el símbolo del sistema en su sistema utilizando el comando
matlab -softwareopengl
. Este comando solo funciona en sistemas Windows y Linux. Los sistemas Macintosh no admiten el software OpenGL.OpenGL básico acelerado mediante hardware: introduzca
opengl hardwarebasic
en el símbolo del sistema de MATLAB.OpenGL acelerado mediante hardware: introduzca
opengl hardware
en el símbolo del sistema de MATLAB.
Especificar la implementación de OpenGL para futuras sesiones
Para establecer sus preferencias y que MATLAB siempre se inicie con la implementación especificada de OpenGL, utilice una de estas técnicas.
Software OpenGL: introduzca
opengl('save','software')
en el símbolo del sistema de MATLAB. A continuación, reinicie MATLAB.OpenGL básico acelerado mediante hardware: introduzca
opengl('save','hardwarebasic')
en el símbolo del sistema de MATLAB. A continuación, reinicie MATLAB.OpenGL acelerado mediante hardware: introduzca
opengl('save','hardware')
en el símbolo del sistema de MATLAB. A continuación, reinicie MATLAB.Deshacer la configuración de preferencias: ejecute
opengl('save','none')
en la línea de comandos de MATLAB. A continuación, reinicie MATLAB.
Resolución de problemas de memoria insuficiente
Un hardware gráfico con una memoria gráfica limitada puede provocar un rendimiento deficiente u ocasionar problemas de memoria insuficiente. Realice estos cambios para mejorar el rendimiento y solucionar los problemas de memoria:
Utilice ventanas de figura más pequeñas.
Desactive el antisolapamiento estableciendo la propiedad
GraphicsSmoothing
de la figura en'off'
.No utilice transparencias.
Utilice el software OpenGL.
Ponerse en contacto con el soporte técnico
Si no puede solucionar los problemas mediante las opciones que se han descrito, es posible que experimente un bug en MATLAB. Póngase en contacto con el soporte técnico de MathWorks y facilite la información que aparece a continuación:
La salida que ha devuelto
info = rendererinfo(gca)
.Si el código se ejecuta sin errores al utilizar el software OpenGL.
Si el código se ejecuta sin errores en un ordenador diferente. Facilite la salida de
rendererinfo
de todos los ordenadores en los que haya probado el código.Algunos mensajes de error contienen un enlace a un archivo con detalles acerca del error gráfico que experimenta. Si se proporciona un enlace a este archivo, incluya el archivo en el caso de soporte.
Cree un caso de soporte en https://www.mathworks.com/support/contact_us.