<div dir="ltr">2013/10/22 Giovanni Vittorio Spina <span dir="ltr"><<a href="mailto:vittorio.spina@gmail.com" target="_blank">vittorio.spina@gmail.com</a>></span><br><div class="gmail_extra"><div class="gmail_quote"><div>
<br></div><div>ciao Giovanni,</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Ho implementato un modulo che mette uno stream ffmpeg su una surface di pygame e funziona fluidissimo. Sto poi facendo un programma che legge uno stream da un sensore laser. Se aggiungo stream video e stream laser, nonostante sia tutto su thread separati (modulo thread) i calcoli son troppi e lo stream video perde pacchetti con un peggioramento evidente della qualità video oppure, limitando al massimo il framerate, è lo stream del laser a cedere colpi evidenti. Il motivo credo che sia il fatto che a livello di calcolo, il modulo thread non implementa un vero multithread, ma riunisce comunque tutti sotto un solo processo che gestisce con un sistema semaforico particolarmente intelligente.<br>
<br></blockquote><div><br></div><div>Hai pensato di usare il modulo multiprocessing? [1]<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Per ovviare il problema avevo pensato di fare un'applicazione che legge i dati dal laser e un'altra con interfaccia grafica e con lo stream video.<br>
<br>
Come condivido i dati? Non vorrei usare un sistema client server, mi piacerebbe qualcosa di più elegante che mi permetta la condivisione di un dizionario con 7-8000 valori ad una frequenza di almeno 10 letture al secondo... Avete idee?<br>
</blockquote><div><br></div><div>naturalmente supporta la comunicazione tra i processi [2]<br></div><div><br></div><div>Una discussione interessante sull'argomento che avevo letto [3]</div><div><br></div><div>[1] <a href="http://docs.python.org/2/library/multiprocessing.html#">http://docs.python.org/2/library/multiprocessing.html#</a></div>
<div>[2] <a href="http://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes">http://docs.python.org/2/library/multiprocessing.html#exchanging-objects-between-processes</a></div><div>[3] <a href="http://stackoverflow.com/questions/5784389/using-100-of-all-cores-with-python-multiprocessing">http://stackoverflow.com/questions/5784389/using-100-of-all-cores-with-python-multiprocessing</a></div>
<div><br></div><div>ciao </div></div>-- <br>Gian Mario Tagliaretti<br>GNOME Foundation member<br><a href="mailto:gianmt@gnome.org">gianmt@gnome.org</a>
</div></div>