[java] MemoryImageSource double buffering
Moderatore: Staff
Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
[java] MemoryImageSource double buffering
ho un problema con un oggetto MemoryImageSource che viene aggiornato da un Timer ogni 33msec richiamando la newPixels, questo provoca un fastidioso sfarfallio...
ho letto in giro di "double buffer", oggetti VolatileImage con accellerazione 2d ecc...
nessuno mi spiega meglio, magari facendo esempi?
grazie
ho letto in giro di "double buffer", oggetti VolatileImage con accellerazione 2d ecc...
nessuno mi spiega meglio, magari facendo esempi?
grazie
- 414N
- Iper Master
- Messaggi: 2922
- Iscritto il: mer 13 feb 2008, 16:19
- Slackware: 15.0
- Kernel: 5.15.19
- Desktop: KDE5
- Località: Bulagna
- Contatta:
Re: MemoryImageSource double buffering
Ma di quale linguaggio stai parlando?
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
Re: [java] MemoryImageSource double buffering
java scusate! l'ho aggiunto nel titolo.
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
Re: [java] MemoryImageSource double buffering
ho provato a implementare il double buffer ma non cambia nulla!!!
- m0rdr3d
- Linux 2.x
- Messaggi: 404
- Iscritto il: dom 24 dic 2006, 13:40
- Slackware: Slackware64-current
- Kernel: 3.4.*
- Desktop: KDE 4.8.2
Re: [java] MemoryImageSource double buffering
Hai provato ad implementare in che senso?
Hai scritto tu il codice o hai usato i metodi della libreria java per farlo?
Hai visto questo? Spero ti possa fornire qualche indicazione in più sull'argomento.
Hai scritto tu il codice o hai usato i metodi della libreria java per farlo?
Hai visto questo? Spero ti possa fornire qualche indicazione in più sull'argomento.
- FireEater
- Linux 3.x
- Messaggi: 508
- Iscritto il: sab 5 feb 2005, 0:00
- Nome Cognome: Giuseppe M.
- Slackware: Current
- Kernel: 2.6.32.7-smp
- Desktop: kde 4.3.4
- Località: Cagliari <---> Torino
Re: [java] MemoryImageSource double buffering
Non ho mai fatto grafica in Java, ma di solito il flickering si elimina utilizzando il metodo update su un oggetto graphics.
Anzi, ci dovrebbe essere una callback paint che richiama il metodo update quando necessario.
Nel metodo update si deve ridisegnare il graphics con qualcosa tipo g.drawImage(....).
Lo so, sembra un discorso campato per aria, ma spero comunque di esserti d'aiuto.
FireEater
Anzi, ci dovrebbe essere una callback paint che richiama il metodo update quando necessario.
Nel metodo update si deve ridisegnare il graphics con qualcosa tipo g.drawImage(....).
Lo so, sembra un discorso campato per aria, ma spero comunque di esserti d'aiuto.
FireEater
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
Re: [java] MemoryImageSource double buffering
ho usato proprio la tecnica con la drawImage però non funge, più tardi mi spiego meglio
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
Re: [java] MemoryImageSource double buffering
il codice è questo
MemoryImagePanel di usa analogamente a MemoryImageSource, e riceve in ingresso un vettore che rapppresenta i pixel dell'immagine che continua a cambiare
forse non ho capito il double buffering?
Codice: Seleziona tutto
class MemoryImagePanel extends JPanel {
private Image img;
private MemoryImageSource mis;
private int w,h;
public MemoryImagePanel(int w, int h, int[] pix, int off, int scan) {
this.w =w;
this.h = h;
setPreferredSize(new Dimension(w,h));
DirectColorModel dcm=new DirectColorModel(24, 0x00FF0000, 0x0000FF00, 0x000000FF);
mis=new MemoryImageSource(w,h,dcm,pix,off,scan);
mis.setAnimated(true);
mis.setFullBufferUpdates(true);
img=createImage(mis);
}
// Overwrite imageUpdate
public boolean imageUpdate(Image image, int i1, int j1, int k, int i2, int j2) {
return true;
}
/** Draw the image on the panel. **/
public void paintComponent (Graphics g) {
mis.newPixels(0, 0, w, h);
g.drawImage(img, 0, 0, this);
}
}
forse non ho capito il double buffering?
- submax82
- Staff
- Messaggi: 3202
- Iscritto il: mer 31 ago 2005, 0:00
- Desktop: xfce
- Distribuzione: SalixOS
- Contatta:
Re: [java] MemoryImageSource double buffering
con sto double buffering sto impazzendo non capisco bene come funziona, sto leggendo diversi esempi ma ho una gran confusione ho scoperto anche BufferStrategy, VolatileImage, BufferedImage!!!