{{htmlmetatags>metatag-robots=()
metatag-title=(I vantaggi dell'isomorfismo (e di usare la libreria MIDRES))
metatag-keywords=(Optimization,MIDRES,design,isomorphis)
metatag-description=(Come evitare di introdurre un layer di astrazione su macchine a 8 bit e come evitare di scrivere tanti programmi quante sono le piattaforme.)
metatag-media-og:image=(::midres-logo-fb.png)
metatag-og:title=(I vantaggi dell'isomorfismo (e di usare la libreria MIDRES))
metatag-og:description=(Come evitare di introdurre un layer di astrazione su macchine a 8 bit e come evitare di scrivere tanti programmi quante sono le piattaforme.)
}}
====== I VANTAGGI DELL'ISOMORFISMO ======
Per esempio, molti dev-kit forniscono funzionalità molto avanzate "nascondendo" i dettagli, come ad esempio il funzionamento dei tile. Nella realtà, però, **tutti i computer (che la [[:midres_library|libreria MIDRES]] supporta) dispongono dei tile**: solo che sono implementati in modo (a volte profondamente) diverso da caso a caso.
{{ :midres2.png?nolink&600 |}}
Detto in altri termini, poiché i programmi che adottano altri dev-kit girano anche dove il concetto di "tile" non c'è, questo implica che **il programmatore non può scrivere direttamente logiche che trattino i tile per quello che sono**, quindi con un codice C "vicino" alla macchina.
Questo non implica che, di per sé, il risultato sarà inefficiente. Almeno, non è detto che lo sia in senso assoluto. Sicuramente **non potrà essere efficiente su tutti i target come lo è quello che si ottiene adottando la [[:midres_library|libreria MIDRES]]**.
{{ :img2tile-snapshot.png?nolink&600 |}}
Questo perché il programmatore che adotta la [[:midres_library|libreria MIDRES]] può godere di alcuni vantaggi sull'hardware, legati esclusivamente al fatto che è isomorfa.
Nella [[:midres_library|libreria MIDRES]] le tile sono una risorsa sotto il controllo completo del programmatore e non della libreria: la libreria non ha bisogno di mapparle nello stesso modo, e il gioco può quindi disporre di tutte le tile possibili per quell'hardware (256, 128, 64, a seconda), anche in copie molteplici.
E' così perché, se ci provasse, sarebbe una astrazione e si ricade sempre al ricondurre l'implementazione specifica a un computer astratto, in questo caso dotato sempre della stessa mappatura tiles, e non sarebbe isomorfa.
{{ :demo_tiles.png?nolink&600 |}}
La libreria offre inoltre delle funzioni per definire e manipolare le tile e garantisce che, al momento in cui saranno compilate, diventeranno "automagicamente" delle letture / scritture dirette in video ram e negli spazi opportuni di sistema.
Questo in virtù del fatto che è isomorfa ed è per questo anche il client entra in gioco con una libreria isomorfa e che, una volta che si sarà realizzato un software sufficientemente valido ed efficiente, lo sarà dovunque lo si ricompilerà.
Vai alla pagina [[:it:midres_library:isomorphism:other|ALTRE CARATTERISTICHE DELLA LIBRERIA MIDRES]]
[[:it:midres_library:isomorphism|{{ :midres-logo.png?nolink&600 |}}]]