Quote Originariamente inviata da escocat Visualizza il messaggio
A dire il vero io lavoro con i Png.... ho cercato di capire come è fatto il loro formato e dove comincia lo spazio dei dati sul file ma mi sono perso, e comunque i png non sono così chiari e limpidi come i bmp.
Se parliamo di PNG è tutto un altro discorso, per avere accesso casuale in O(1) a qualunque pixel dell'immagine devi necessariamente scompattarlo (fai conto che un PNG concettualmente è come se fosse un .BMP zippato).
Per quanto riguarda la mappatura in memoria, con Xna io e il mio portatilino soffriamo abbastanza non appena carichiamo una png 1000x1000. C'è un modo per usare una memoria DIVERSA da quella che serve a Xna?
Al di là del fatto che per il memory mapping devi usare immagini non compresse (per il motivo detto sopra), se tutto va lento significa che hai finito la memoria fisica (lo spazio di indirizzi virtuale ha ancora spazio, ma il sistema operativo è costretto a fare swapping, per cui deve passare al disco e tutto diventa ordini di grandezza più lento).

Again: ti conviene ragionare per tile, caricando solo quelle che ti servono e buttandole via quando non ti servono più (eventualmente tieni una cache di dimensioni limitate), invece di decomprimere e caricare completamente in memoria (=il sistema operativo deve allocare effettivamente spazio per tutto in memoria fisica) PNG enormi.