Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405

    Aiuto uso Doppio buffer

    Mi potete dire dove posso trovare una esaustiva guida all'uso del doppio buffer?In rete ho trovato solo poco roba troppo incasinata per me!

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    a cosa ti serve? prova con questo http://www.pierotofy.it/pages/appunt...gini_con_Java_(I)/
    o con questo

    Il Doppio Buffer
    Se qualcuno ha già provato a fare qualcosa di grafico tipo un testo scorrevole , avrà sicuramente notato che se scriviamo e cancelliamo continuamente un testo esso lampeggia o come molti dicono “fa lo sfargallio” questo perchè scrivere nella memoria video direttamente è lento. La soluzione che nel tempo si è andata affermandosi è il cosidetto Doppio Buffer o double buffering la filofia di questo metodo è :
    creiamo in memoria un buffer video virtuale e apportiamo a questo tutto quello vorremmo fare sulla memoria video e alla fine copiamo tutto il buffer nella memoria .

    In Java la sua implementazione è molto facile (a differenza di altri linguaggi di programmazione quali c/c++, pascal...)e permette di eliminare totalmente lo sfarfallio .


    Per prima cosa creiamo un oggetto Image vuoto che sarà il nostro buffer virtuale
    Creiamo un oggetto di tipo Graphics che è l’ oggetto grafico del buffer virtuale
    Usiamo l’ oggetto Graphics per disegnare cancellare nel buffer virtuale
    Copiamo l’ oggetto Image nella memoria video

    import java.awt.*;
    import java.applet.*;
    class Prova extens Applet
    {
    Image buffervirtuale;
    Graphics b_graph;

    public void init()
    {
    ......
    //creo un’ immagine vuota della grandezza di tutto l’ applet
    buffervirtuale= createImage(this.getSize().width ,this.getSize().height);
    // prendo l’ oggetto Graphics del buffer per porter apportare modifiche
    // al buffer
    b_graph=buffervirtuale.getGraphics();
    b_graph.drawString(10,10,”ciao Mondo!”);
    repaint(); //forzo l’ aggiornamento dell’ applet
    }
    public void paint(Graphics g)
    {
    update(g); //uso update perchè aggiorno tutto l’ applet
    }

    public void update(Graphics g)
    {
    //disegno tutto quello che c’ è nel buffervirtuale e così elimino lo sfarfallio
    g.drawImage(0,0,buffervirtuale);
    }
    }//~ Fine class Prova



    Conclusione
    È possibile realizzare mediante Java videogiochi di qualsiasi tipo (o quasi ) implementando soluzioni e algoritmi sempre più efficienti dato che il linguaggio offre queste opportunità ma l’ arma che non dobbiamo trascurare è la nostra fantasia.

  3. #3
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Si ma l'esemmpio da te riportato si riferisce ad un Applet, a me serve un esempio per una applicazione JAva normale.
    Comunque mi serve perchè devo fare un videogioco.

  4. #4
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    Ho letto che i componenti swing implementano già questa tecnica di default, vorrei orientarmi sullo swing quindi già che ci sono, ma non ho capito se questo si riferisce solo a componenti veri e propri(bottoni, checkbox, list ecc ecc) o anche a figure disegnate.
    Lo sapete?

  5. #5
    Utente di HTML.it L'avatar di Linusss
    Registrato dal
    Sep 2002
    Messaggi
    405
    uppettino

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.