saulotmalo escribió:hola, como sabreis estoy haciendo un juego. Bueno y por necesidad tengo que usar hilos porque cuando quiero captuar una imágen de la webcam el pc "creo" que se queda esperandola. Bueno ya tengo hecho el hilo para capturar de la webcam y tal sin problema pero aún se me queda congelado...
podría ser esto problema de la política y/o prioridad del hilo? y si es así ... alguien sabe como cambiarla? he mirado muchisimo por internet y nada

. ha por cierto estoy usando pthread-win32 que vienen a ser como ls pthread de toda la vida... ufff por cierto no veais como me jode esto de que la webcam se me bloquee.
Humm, no entiendo bien el problema ¿que se te bloquea exactamente? ¿el hilo que controla la captura de la camara? ¿o el resto del juego?
Si es el de captura, probablemente sea lo normal, por que si no, no necesitarias crear varios hilos
Pero si te bloquea el resto del juego o va muy despacio, puede deberse a que establezcas en el hilo de la camara una prioridad alta y el hilo sea a tiempo real.
Pero existe una segunda razon que podria hacer que ese hilo se bloqueara: que tu te quedes esperando la respuesta de la camara o que intentes acceder a esa respuesta, llamando a una funcion que en la captura se bloquea, para recbir la respuesta de la camara.
En este caso, deberias hacer que la captura pasara todos los datos en un buffer y activar un flag (en una variable) que indicara cuando el hilo del juego puede leer esos datos (y borrarlo una vez leido)
Tambien podria ocurrirte otra cosa: que el hilo de captura se este llamando continuamente... y claro, solo deberias llamarlo cada cierto tiempo (lo mejor seria que el juego le indicara en un flag, cuando debe empezar a capturar y el resto del tiempo, el hilo estuviera llamando a alguna funcion que devolviera el control)
En fin, seguramente sea alguna de estas cosas.