Nel mio scenario vado a prendere schermo da un dispositivo (è un'immagine TIFF produce solo) e trasferire in JPEG e lo ha inviato sulla rete al client (client supportano solo la codifica JPEG)è possibile utilizzare la potenza di calcolo della GPU per la conversione di immagini (da tiff a jpeg)? Se sì come raggiungerlo
java code
public byte[] getscreen(){
/*
logic for fetching tiff image from the device
*/
if(tiffimage == null)
return null;
byteOutput = new ByteArrayOutputStream();
ImageIO.write(tiffImage, "jpeg", byteOutput);
return byteOutput;
}
Per il dispositivo che produce l'immagine impiega 10 ms - 1 secondo in base alla risoluzione del dispositivo (si noti che non è possibile apportare modifiche su questo lato, produce solo immagini tiff) e la dimensione varia tra 3 MB e -12 MB a seconda sulla risoluzione.
Ora la conversione dell'immagine in JPEG richiede tempo. la mia domanda è, possiamo usare la potenza della GPU per convertire l'immagine da TIFF in JPEG in modo da poter ottenere FPS migliorati dal mio lato client?
P.S: L'applicazione è in esecuzione su varie macchine che hanno schede grafiche come (NVDIA, AMD, Intel HD graphics) Voglio sapere se questo può essere fatto, in tal caso come approccio alla soluzione.
non sono sicuro che la GPU funzioni meglio della CPU per la conversione dei codec di immagine ecco un collegamento a una domanda simile https://stackoverflow.com/questions/7662773/qt-convert-raw-image-to-jpg-using -hardware-acceleration-gpu – WhileTrueSleep
stesso qui: non è meglio usare gpu su cpu: http://stackoverflow.com/questions/22866901/using-java-with-nvidia-gpus-cuda –
vedi anche http: // stackoverflow .com/questions/3384970/java-gpu-programming using gpu in java –