Se la singola operazione sull'object2d è atomica e non restituisce
tempo di CPU al thread potresti spostare in un eseguibile separato
(magari a riga di comando) le operazioni sulle immagini e controllare
l'avanzamento delle operazioni attraverso Mutex.
Non è particolarmente elegante, ma è semplice da implementare e
rischia di funzionare.
Ciao.
On 13/mar/08, at 16:41, Fabio Soggia wrote:
Sì, certo
Ho letto il topic che mi hai segnalato e a grandi linee il problema
coincide
Il fatto è che mentre l'autore del topic aveva tanti piccoli oggetti
che raggruppati diventavano una grossa immagine, io ho solo una
immagine, ma molto grossa.
In sintesi, viene caricata un'immagine da un file, qualche mega
pixel (da 3 a 12). L'immagine viene passata a un thread che tramite
un PixmapShape viene ruotata e disegnata in una nuova immagine di
dimensioni adatte. L'immagine ruotata viene passata alla classe di
partenza tramite un'Interface su misura.
Per le rotazioni fisse posso usare un RGBSurface, per quelle
discrete credo che la lettura dei singoli pixel e il calcolo delle
nuove coordinate sia un po' troppo lento e che possa generare
artefatti, ma non ho provato.
Quello che potrei provare è di spezzettare l'immagine, magari in
questo modo riuscirei a mantenere il controllo dell'interfaccia
grafica.
Provo e faccio sapere.
Ovviamente potrei usare un plugin, ma per ora preferirei di no
Saluti, Fabio
Il giorno 13/mar/08, alle ore 13:38, Gilberto De Faveri ha scritto:
Puoi fornire maggiori dettagli su come è strutturato il codice?
--
gilberto de faveri
omnidea srl
edificio pegaso
parco scientifico tecnologico vega
via delle industrie, 15
30175 venezia marghera
tel +39 041 509 3441
fax +39 041 509 3641
www.omnidea.it
|