> Il giorno 05/ott/2013, alle ore 08:08, Marco Buttu 
> <mbu...@oa-cagliari.inaf.it> ha scritto:
> 
>> On 10/04/2013 06:09 PM, Vittorio Spina wrote:
>> Mi collego a un laser con interfaccia ethernet. Io faccio i seguenti passi
>> apro il socket
>> leggo un B alla volta con recv(1) finchè non trovo la magic word
>> trovata la magic word leggo un po di bytes con dentro le informazioni fra 
>> cui, numero di scansione e numero di punti scansionati
>> con un ciclo leggo tanti pacchetti successivi all'header quanti sono i 
>> numeri scansionati
>> mostro i punti con pygame.
>> c'è un ritardo di circa 5 secondi cosa che nel suo viewer non c'è.
>> Leggendo i numeri di scansione mi accorgo che sono consequenziali senza 
>> salti, il laser cioè mi aspetta e accumulo un ritardo per la velocità del 
>> mio programma di visualizzazione.
> 
> Perche' non esegui il punto 5 in modo concorrente? Per me e' la' che accumuli 
> la maggior parte del ritardo.
No, raggiungo i 70 fps e la lettura dei punti é in un thread separato
Sapete come si usa la select?
> 
>> se invece apro ogni volta che leggo il socket, va un po' a scatti perchè 
>> l'apertura del socket è cosa pesante, ma funziona, scattando un poco.
> 
> Questo non mi torna, perche' mi aspetto ugualmente un ritardo. Forse in 
> questo caso il laser produce il punto, non puo' inviarlo perche' non hai 
> completato le tue operazioni (non sei ancora tornato
> al punto 1) e quindi il socket e' ancora chiuso, cosi' scarta il punto ma 
> conserva il suo l'ID per assegnarlo al prossimo punto che produrra', che 
> inviera' quando trovera' la connessione aperta (altrimenti lo scartera', e il 
> ciclo continua).
> Se il viewer vede solo i punti che il laser ha inviato correttamente al 
> client, allora e' per questo che vi sembra che funzioni, perche' non vi 
> accorgete dei ritardi ma in realta' state perdendo dei punti.
> 
> In definitiva, il mio consiglio e' `paralellizzare` il punto 5, e se non 
> bastasse anche intervenire sul protocollo
> -- 
> Marco Buttu
> 
> INAF - Osservatorio Astronomico di Cagliari
> Via della Scienza, Loc. Cuccuru Angius
> 09047 Selargius (CA)
> Email: mbu...@oa-cagliari.inaf.it
> _______________________________________________
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a