gvSIG bugs #2954

Edición lenta usando calculadora de campos

Added by Álvaro Anguix over 9 years ago. Updated over 9 years ago.

Status:Closed% Done:

0%

Priority:UrgentSpent time:-
Assignee:-
Category:Document table
Target version:2.1.0-2255-testing
Severity:Critical Add-on version:
gvSIG version:2.1.0 Add-on build:
gvSIG build:2254 Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

Cuando editamos la tabla de atributos de un shape, utilizando la Selección de atributos para seleccionar algunos registros y la calculadora para cambiar los valores de algún campo, la edición es muy lenta respecto a anteriores versiones.
Habría que revisar si es posible acelerar estos procesos.

Associated revisions

Revision 41821
Added by Joaquín del Cerro Murciano over 9 years ago

refs #2954. Reemplazada la implementacion de getSelectedRowCount en el FeatureTable por una mas optima usando la seleccion del store.

Revision 41822
Added by Joaquín del Cerro Murciano over 9 years ago

refs #2954. Modificada la implementacion del "update" para que acumule las notificaciones de modificacion sobre el store de forma que solo las atienda despues de un segundo de no recibir ninguna notificacion. Tal como estaba antes cuando se editaba en modo bactch la tabla, por ejemplo con la calculadora de campos, se disparaba una notificacion por cada edicion de una linea, y esta provocaba que se refrescase la tabla por cada modificacion.

Revision 41824
Added by Joaquín del Cerro Murciano over 9 years ago

refs #2954. Añadido mensaje al registro de errores.

History

#1 Updated by Álvaro Anguix over 9 years ago

  • Priority changed from Normal to Urgent

Tras realizar pruebas varias parece que no tiene que ver con el uso de la calculadora de campo. Cualquier edición que hagamos con elementos seleccionados tiene este comportamiento.

#2 Updated by Joaquín del Cerro Murciano over 9 years ago

  • Target version changed from 2.1.0-2259-rc3 to 2.1.0-2255-testing

#3 Updated by Joaquín del Cerro Murciano over 9 years ago

Bueno, pues no era un solo error o problema el que se estaba presentando.
He detectado dos:

  • Por un lado cuando se usaba la calculadora de campos, cada vez que se editaba un registro se reconstruia la tabla de nuevo. Eso hacia que tardase mucho en ejecutarse el proceso.
  • Por otro lado, cada vez que se cambiaba de ventana en gvSIG, por ejemplo de la tabla a la vista o al reves, habia al menos una extension, TableEditCutExtension, que consultaba al componente grafico de la tabla el numero de lineas seleccioadas para determinar si se activaba o no. esto provocaba que se recorriese todos los elementos de la tabla para determinar cuantos habia seleccionados.

He aplicado correcciones para estos dos problemas. Para el primero he retrasado la accion de reconstruir la tabla de forma que solo se haga una vez al final del proceso. Para el segundo he cambiado la implementacion de la consulta del numero de linas seleccionadas para que no precise recorrerse todas las lineas.

A pesar de estos cambios, hay que tener en cuenta que la edicion se realiza en memoria, y no se guardan los datos hasta terminar edicion. Si usamos la calculadora de campos sobre una tabla muy (muy muy) grande, esto provocara que se cargue toda la tabla en memoria, y ademas de poder tener problemas de "ocupacion en memoria", algunas operaciones pueden ir mas lentas.

#4 Updated by Álvaro Anguix over 9 years ago

Gracias. No sé si se ha hecho alguna prueba con PostGIS, pero en cualquier caso si está solucionado lo que comentas ya se podría sacar el siguiente build.

#5 Updated by Joaquín del Cerro Murciano over 9 years ago

  • Status changed from New to Fixed

#6 Updated by Álvaro Anguix over 9 years ago

  • Status changed from Fixed to Closed

Also available in: Atom PDF