9 votos

Cuello de botella en el rendimiento de QGIS

Cuando cargo un vector con un gran número de características en QGIS, el tiempo de renderizado puede volverse extremadamente lento. Pero cuando miro los recursos de mi sistema, todos tienen un exceso de capacidad.

¿Cuál es el cuello de botella que hace que el renderizado tarde tanto? ¿Es una cuestión de recursos del sistema que por alguna razón no están siendo asignados a QGIS?

Si importa actualmente estoy usando un Intel i7 quad core / 16gb ram / NVIDIA gaming GPU / Windows 10.

Lo que intento averiguar es si es posible acelerar las cosas actualizando el hardware.

1 votos

No hay mucho que puedas hacer aparte del índice (como respondió ahmadhanb) ya que Qgis no utilizará todos los recursos del sistema. Utiliza sólo un núcleo para calcular los datos, con poca ayuda de la tarjeta gráfica (no sé cómo se dividen exactamente las tareas, pero tengo alrededor de 1-2% de carga en el procesador gráfico al cargar las características). Puedes configurar Qgis para que utilice más de un núcleo, pero esto sólo se utiliza cuando tienes varias capas, ya que se utiliza un núcleo por capa.

2 votos

¿Qué formato de datos utiliza? ¿Dónde se almacenan?

0 votos

¿Puedes detallar más qué "recursos del sistema" has mirado? ¿Hay algo que esté al máximo? ¿UNA CPU? ¿LA E/S?

8voto

Sushant23 Puntos 329

Hay dos cuestiones que hay que tener en cuenta:

  1. Si sus datos tienen índice espacial o no. Si no es así, intente crear un índice espacial para sus datos. El índice espacial puede mejorar la velocidad de representación de sus datos en QGIS. Para crear un índice espacial, vaya a layer properties -> General tab -> Create Spatial Index como se puede ver a continuación:

enter image description here

O:

Puede crear un índice espacial directamente desde OSGEO4W Shell añadiendo el siguiente comando:

ogrinfo C:\Temp\SHP\TestFeatureName.shp -sql "CREATE SPATIAL INDEX ON TestFeatureName"
  1. Otra cuestión a tener en cuenta es que si estás cargando tus datos desde la red. Normalmente, la carga de datos desde la red reduce el tiempo de renderizado y disminuye el rendimiento.

1 votos

El renderizado se vuelve lento cuando hay una gran cantidad de vértices que dibujar en los datos. En este caso, la simplificación sobre la marcha puede agilizar el renderizado. qgis.org/es/sitio/forusers/visualchangelog216/index.html#id40 .

8voto

John Feminella Puntos 123

Asegúrate de que en Configuración -> Opciones -> Renderizado tienes marcada la opción "Renderizar capas en paralelo".

1 votos

Esto parece ser un consejo de primera, pero me pregunto, antes de enviar esto por correo electrónico a los usuarios a los que doy soporte, ¿hay inconvenientes para comprobar esto? Supongo que debe haber algo, de lo contrario esto estaría activado por defecto.

1voto

Braiam Puntos 120

Además de las otras respuestas, la función filter legend by map content tiene graves repercusiones. Por experiencia, parece que tanto la cantidad de características mostradas como el número total de características en la capa tienen impactos. Utilizando una red de carreteras de todo el país clasificada por "tipo" (5 valores) pero mostrando una docena de segmentos de calles, es instantáneo cuando se muestran todos los tipos de características y tarda un par de segundos si se filtran.

--> si está activado, intente desactivarlo para mejorar el rendimiento.

Filter legend by map content option is enabled

0voto

Ciara Puntos 21

En el caso de que estés cargando datos desde un shapefile, un consejo muy simple, bastante obvio pero no para mí, es almacenar tus archivos localmente.

Estaba experimentando una dolorosa lentitud, intenté arreglarlo con muchos de los útiles consejos que encontré aquí y en internet, pero el punto de inflexión fue mover la carpeta de la red a mi ordenador local.

No es una buena práctica, pero es eficaz.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X