Sto facendo un gioco in java e in BufferedImages utilizzato per visualizzare il contenuto sullo schermo. Ho avuto problemi di prestazioni su macchine di fascia bassa in cui il gioco dovrebbe funzionare, quindi sono passato a VolatileImage che sono normalmente più veloci. Tranne che in realtà rallentano tutto.Java: VolatileImage più lento di BufferedImage
Le immagini vengono create con GraphicsConfiguration.createCompatibleVolatileImage (...) e vengono disegnate sullo schermo con Graphics.drawImage(...) (seguire il collegamento per vedere quale di esse in particolare). Sono disegnati su una tela usando doppio buffering.
Qualcuno ha un'idea di cosa sta andando storto qui?
Ho notato lo stesso. – Hardcoded
Se hai poca memoria sulla scheda grafica, ovviamente non ti aiuterà. IIRC, 'BufferedImage' ha avuto alcuni aumenti di velocità, quindi la differenza potrebbe non essere grande come una volta. –
@Norswap: Penso davvero che per trovare una buona risposta a questo consiste nel trovare giochi Java Open Source di alto livello (ce ne sono alcuni) o qualche grande demo Java (dalla "scena demo") e cercare di capire cosa hanno fatto. Ho usato per programmare giochi e demo molto tempo fa su hardware molto * esotico (come Amiga, SNES, modalità 13x ecc.) E ancora non so come "spingere i pixel" correttamente in Java. Questo è ancora una volta un dominio in cui Java è stato "sovrastampato" ed è inutilmente complicato. Non tengo il fiato sospeso per qualcuno qui su SO per essere davvero in grado di aiutarti. – SyntaxT3rr0r