Domanda

Sono in procinto di scrivere un generatore heatmap personalizzato. Mi chiedo che cosa il modo più veloce è quello di disegnare scatole (fino a circa 1 milione) in Java. La maggior parte delle domande che ho trovato sono concentrati sulle immagini dinamiche (come nei giochi), e mi chiedo se c'è un modo migliore per andare per le immagini statiche. Ho provato con oscillazione (con un GridLayout e aggiungendo una tela colorata per ogni scatola), disegnando direttamente sul pannello con Craphics2D, ed anche in base alle librerie di elaborazione. Durante l'elaborazione è abbastanza veloce e genera un'immagine pulita, la finestra sembra avere problemi a tenere esso; genera diverse parti dell'immagine ogni volta a ridurre al minimo, spostare le finestre, ecc.

Ho sentito parlare di OpenGL, ma non ho mai toccato, e volevo un feedback sul fatto che (o qualcos'altro) sarebbe un approccio migliore prima di investire tempo in esso.

È stato utile?

Soluzione

Per le immagini statiche, li dipingo ad un BufferedImage (BI) e poi pesca tramite Graphics2D. Continuo a un valore booleano che mi dice se la BI è aggiornata. In questo modo ho incorrere solo il costo della pittura costoso una volta. Se si desidera ottenere fantasia, è possibile scalare la BI per gestire il ridimensionamento minore. Per un importante ridimensionamento probabilmente si vorrà ridipingere la BI in modo da non introdurre artefatti. E 'anche utile per sovrapporre i dati (come mirino, il valore sotto il cursore, ecc), come si sta solo dipingere il BI e dei dati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top