[Jde-dev] redimiento temporal en 5.0

David Lobato dav.lobato en gmail.com
Jue Feb 18 15:28:00 CET 2010


Hola Sara,


Lo primero comentar que no lo que aparece en el "motiondetection" no es el
patrón MVC (Model-View-Controller) puro, si no que una aproximación que
adapté al caso concreto.

Independientemente, lo que andaba buscando es una manera de desacoplar al
máximo el código de la visualización. Actualmente, en los esquemas de la
4.3, todo se entremezcla, resultando complicado distinguir entre código de
la aplicación y código de la visualización. Así que se me ocurrió que podría
aplicar algún patrón de los que se usan en aplicaciones con visualización.
MVC y sus variantes son patrones de este tipo.

En este patrón se separan los datos (modelo) de la interfaz gráfica (vista),
utilizando un intermediario (controlador). El controlador se encarga de
actualizar el modelo con los cambios que provengan de la vista (pulsar un
boton, caja de texto,...) o del exterior (en nuestro cosa de la red). A su
vez, el modelo envía una notificación de que sus datos han cambiado, que es
recibida por todas las vistas suscritas al modelo (usamos patrón Observer
para esto) y que se encargan de releer el modelo y actualizarse (repintar el
gui).

En principio suena bien. Pero pensando en el caso concreto que Sara está
implementando, creo que sucede lo siguiente:

Supongo que el modelo de Sara no es mas que un almacen de 4 imagenes (cada
una de las recibidas de cada cámará) que el el controlador actualiza de 1 en
1 usando un método tipo setImage1, setImage2,...
Dichos métodos, a su vez, envían una notificación de cambio a las vistas.
Las vistas, que no son capaces de ver que ha cambiado concretamente repintan
todo. Es decir, que estamos actualizando la gui por cada imagen recibida y
de ahí que el rendimiento haya caido tan notablemente.

Se me ocurre que podemos añadir mas información a la notificación que genera
el modelo, para indicar que es lo que ha cambiado, de modo que la vista sólo
pinte aquello que ha cambiado.

¿Mas ideas? ¿Otros patrones que podamos aplicar a nuestros componentes con
gui?

David.





2010/2/18 Juan Antonio Breña Moral <bren en juanantonio.info>

>  Hola Sara,
> No me he puesto a trabajar con el MVC de JDRobot 5.0 pero tiene pinta de
> que en muchas iteraciones de los componentes, los datos pasan por el
> controller y otras areas en teoria, te lo digo con desconocimiento de como
> lo haces.
>
> Yo hasta donde llego MVC es un patron de diseño que se emplea en
> aplicaciones de gestion, vease Structs2 [1] no tenia constancia que en
> Robotica tambien era valido separar la capa de datos del control. Quizas
> debido a eso si la vista es el GUI y el Model es el Sensor, cada iteracion
> del Sensor pasa siempre por el controller y este hace una serie de tareas y
> quizas por eso repercuta en el rendimiento.
>
> ¿La forma tradicional no es valida?
> ¿Si un componente gestiona un sensor o grupo y se comunica con ICE con otra
> area?
>
> Un abrazo
>
> [1] http://struts.apache.org/
>
> Sara Marugan escribió:
>
> Claro, al utilizar el MVC tiene que introducir algo de latencia, pero
> tanta me parece excesiva.
>
>
> Juan Antonio Breña Moral wrote:
>
>
>  Puede que sea la propia arquitectura MVC.
> ¿Es posible?
>
> Sara Marugan escribió:
>
>
>  Hola,
>
> quería comentaros una cosa y es que he hecho dos componentes
> diferentes que reciben imágenes de 4 cámaras a la vez y las muestran.
> El primero está basado en varcolorviewgtkmm, que no utiliza el modelo
> MCV, y el segundo en motiondetection, que sí lo utiliza.
>
> Mi sorpresa es que mientras que el primero ejecuta a 30 ips, el
> segundo a 5 ips. ¿A qué puede deberse esto? en el segundo intervienen
> más clases pero me extraña que introduzcan tanta latencia. ¿Es
> ajustable el ritmo de ejecución?
>
> gracias de antemano,
>
> Sara
> _______________________________________________
> Jde-developers mailing listJde-developers en gsyc.eshttp://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
>             _______________________________________________
> Jde-developers mailing listJde-developers en gsyc.eshttp://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
>
> --
>
> Juan Antonio Breña Moralwww.juanantonio.infowww.roboticaenlaescuela.eswww.robotica-urjc.es
>
> Este mensaje (incluyendo los archivos adjuntos) es confidencial y reservado. Si Vd. lo ha recibido por error, por favor notifíquelo al emisor del mismo vía e-mail y borre el mensaje de su sistema. Cualquier uso no autorizado o divulgaciín de su contenido, ya sea en todo o en parte, está totalmente prohibido. Tenga en cuenta que los e-mails son susceptibles de ser modificados.El remitente no se hará responsable de la incorrecta o incompleta transmisión de la información contenida en esta comunicación, ni por ningún retraso en la recepción o daño a sus sistemas. el remitente no garantiza que esta comunicación se ha realizado en su integridad ni que la misma no contiene virus, intercepciones o interferencias. Este e-mail ha sido escaneado mediante la utilización de Antivirus.
>
> El tratamiento de los datos de carácter personal, así como el envío de boletines o comunicaciones realizadas por medios electrónicos, son conforme a la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal (B.O.E. de 14 de diciembre de 1999) y a la Ley 34/2002, de 11 de julio, de Servicios de la Sociedad de Información y de Comercio Electrónico (B.O.E. de 12 de julio de 2002). El tratamiento desautorizado de datos de caracter personal puede suponer una infracción de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de carácter personal. Si usted no es el destinatario que figura arriba, o la persona responsable de su entrega al mismo, deberá de abstenerse de examinar o utilizar su contenido, realizar copias o entregarlo a persona distinta. Para obtener información sobre la política de privacidad o para el ejercicio de
>  derechos de acceso, rectificación, cancelación y oposición, puede dirigirse a este correo electrónico, indicando en el asunto "Protección de Datos".
>
> This message (including any attachments) is confidential and may be privileged. If you have received it by mistake, please notify the sender by return e-mail and delete this message from your system. Any unauthorized use or dissemination of this message in whole or in part is strictly prohibited. Please note that e-mails are susceptible to change. The sender shall not be liable for the improper or incomplete transmission of the information contained in this communication, nor for any delay in its receipt or damage to your system. The sender does not guarantee that the integrity of this communication has been maintained or that this communication is free from viruses, interceptions, or interference. This email has been scanned using Antivirus
>
>
>
>
> _______________________________________________
> Jde-developers mailing list
> Jde-developers en gsyc.es
> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20100218/2922d415/attachment-0001.htm 


More information about the Jde-developers mailing list