[#KINECTONE] Cuidado con los objetos del #KinectSDK v2

Hola!

hoy me he estado peleando un rato con una app para el nuevo KinectSDK v2 y después de darle un par de vueltas llegué a la conclusión, que como siempre era culpa mia.

Les explico el detalle, en post anteriores he mostrado como inicializar READERS para el body, camara o IR por ejemplo; sin embargo creo que no puse ningún ejemplo de código de lo que deberíamos hacer siempre que no utilicemos más un objeto. Es básicamente lo que aprendimos con .Net Fwk 1.0:

Hacer un Dispose() y luego Null.

   1: void MainWindow_Closing(object sender, CancelEventArgs e)

   2: {

   3:     if (_bodyReader != null)

   4:     {

   5:         _bodyReader.Dispose();

   6:         _bodyReader = null;

   7:     }

   8:     if (_colorReader != null)

   9:     {

  10:         _colorReader.Dispose();

  11:         _colorReader = null;

  12:     }

  13:     if (_kinectSensor != null)

  14:     {

  15:         _kinectSensor.Close();

  16:         _kinectSensor = null;

  17:     }

  18: }

Esto que parece de perogrullo, con el KinectSDK V2 es bastante importante porque ahora tenemos la capacidad de poder ejecutar varias apps que usen el sensor al mismo tiempo. Para esto hay una app llamada KinectService que es la encargada de “distribuir” la información del sensor a las demás apps. Si creas una app que no libere correctamente los recursos del sensor, lo que estás haciendo es dejando trabajo extra para KinectService … y bueno te imaginas el resto. Winking smile

 

Disclaimer:

“This is preliminary software and/or hardware and APIs are preliminary and subject to change

Saludos @ Home

El Bruno

image image image Google

4 thoughts on “[#KINECTONE] Cuidado con los objetos del #KinectSDK v2

  1. cool! , estaba intentando usar KinectSensorChooser para lanzar apps kinect usando comandos de voz desde una app kinect principal pero al detener el kinect en la primera app no me deja usarlo en la segunda

    aunque yo supuse que era algo similar a dispose y null (en flash me habia topado con algo similar) aun no logro hacer que funcione sin matar la primera app para que libere el kinect

    Gracias por el tip , voy a actualizar mi sdk e intentar usar el KinectService .

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.