Newsgroup: it.media.tv
Titolo: [OT] [MOLTO] Rosoni: quando di dice ottimizzare il codice.

In 177 Kb guarda cosa ci hanno fatto stare :-)
-- 
Ignazio GSS© * More than 100 HiRes images in my home page  
http://www.ipuddu.it

 In 177 Kb guarda cosa ci hanno fatto stare :-)
Ecco il link
http://www.eightbitblog.com/?p=29
-- 
Ciao mine
http://metropolis.blogs.com/
http://bmws1vc.altervista.org/
BMW 120d Attiva driver 


http://www.eightbitblog.com/?p=29
Pardon, ero sicuro di averlo messo :-)


 In 177 Kb guarda cosa ci hanno fatto stare :-)
8-)
porc!
straporc!!!
Ma questi hanno i bit che possono assumere 42 valori diversi, altro che
"o zero o uno", immagino...
E comunque non servono molti byte per scrivere:
main
   call direct_x("arrangiati")
end main
subroutine direct_x()
    call graphic_processor("e_mo_so'-cazzi_tua")
end subroutine
Scherzi a parte, è un capolavoro. Cosa ci farebbero stare 'sti qua, su
un DVD?
Grazie per la segnalazione.
-- 
Roberto Rosoni

E comunque non servono molti byte per scrivere:
Beh, sicuramente buona parte del lavoro lo fanno i processori della
scheda video, e le API di Windows, e il programma si limita a chiamare
delle funzioni già implementate in Hardware pero' almeno il database
delle strutture e il percorso ci deve essere, e farlo entrare in così
poco spazio, CAZZAROLA! :-)


 poco spazio, CAZZAROLA! :-)
prova, dello stesso gruppo, The product (fr08).
http://www.theproduct.de/
è la demo che li ha resi famosi (64kb).
è del 2000, richiede un p2-350, 128mb di ram e almeno una tnt2 come scheda 
grafica...
La scarichi da qua:
http://snipurl.com/1ho6o
 

 In 177 Kb guarda cosa ci hanno fatto stare :-)
Questo lo batte:
http://www.yatblog.com/2006/07/19/worlds-smallest-shooter/

Questo lo batte:
Beh, e' molto meno complesso, pero'.
Comunque e' sempre fatto da loro, se non mi sbaglio.


 
http://www.eightbitblog.com/?p=29
:-O

 poco spazio, CAZZAROLA! :-)
Come già detto altrove il problema è che queste cose vanno bene per 
esperimentini tipo questi, ma è assolutamente impensabile ad un progetto 
grosso una cosa del genere: Sarebbe totalmente impossibile da manutenere 
e gestire nel tempo da programmatori diversi, e il riuso è una 
caratteristica indispensabile al giorno d'oggi.
In ogni caso i middleware tipo UE, Source ecc sono comunque *molto* 
ottimizzati ma al tempo stesso flessibili ;-)


 poco spazio, CAZZAROLA! :-)
mi avete incuriosito :)
Ho verificato la memoria libera prima e dopo l'avvio. Sembra incredibile 
che un coso di 170K si sia pappati circa 700MB (praticamente il 
contenuto di un CD).
Ho trovato inolttre curioso che dopo aver chiuso la demo mi restasse più 
memoria libera rispetto a prima dell'avvio (750MB invece di 670, 
all'incirca).

 all'incirca).
No, è logico. Hai mai fatto caso che se lanci un programma tosto, tipo
un excel, poi lo chiudi, e poi lo rilanci, la seconda volta riparte in
molto meno tempo? Windows, se nessuno ha bisogno di memoria, mantiene
una cache delle librerie aperte di recente, per cui non le ricarica da
disco alla seconda attivazione.
Il programma grafico inizierà di certo con una bella richiesta a windows
di fare un flush di tutti i buffer e di tutte le cache, allo scopo di
raccattare più RAM possibile. Quando il programma termina e quindi fa un
flush di sé stesso, troverai libera tutta la memoria non allocata. In
pratica quando l'hai lanciato avevi 80 Mb riservati a cache di DLL e
cose del genere.
-- 
Roberto Rosoni

 poco spazio, CAZZAROLA! :-)
Beh, ragioniamo a mente fredda. Il database della struttura chiaramente
replica a più non posso degli oggetti. Per ogni istanza ti bastano 6
valori (3 per la posizione e 3 per la direzione), magari anche solo da 8
o 16 bit, dipende dalla griglia che imponi lo scenario.
Quanto al percorso, con pochi punti (3 valori ciascuno) e pochi vettori
(6 valori) puoi definire e parametrizzare una spline complessa come un
gomitolo di lana dopo che ci ha giocato il gatto...
(Sia chiaro che sto cercando di capire, e non di sminuire!!!)
-- 
Roberto Rosoni

 cose del genere.
Capito, viene prima liberata la cache di Windows per far posto alla 
demo, la quale poi educatamente si auto-killa in maniera completa.
Grazie per le spiegazioni

 matematiche dell'hardware.
Sostanzialmente è come la differenza tra ridimensionare un file immagine 
JPG e quella di un file vettoriale: Il vettoriale lo puoi sempre 
ingradire e ridurre all'infinito con (relativamente) poca fatica, le 
immagini o i filmati invece no :-)
http://en.wikipedia.org/wiki/Procedural_textures


 immagini o i filmati invece no :-)
il file vettoriale non cambia dimensioni... ok.
Adesso "vi pongo" un'altra domanda: č un sistema (quello adottato nella 
demo) che puň essere utilizzato anche nel cad?
Per chiarire la domanda: un disegno cad 2D, anche complesso, non ha 
forse un millesimo delle informazioni grafiche che abbiamo visto nella 
demo, eppure le dimensioni del file possono raggiungere svariati megabyte.

 demo, la quale poi educatamente si auto-killa in maniera completa.
Perfetto.
-- 
Roberto Rosoni

 cache di DLL e cose del genere.
mi vengono in mente quelle utility che liberano spazio nella ram, se non 
ho capito male, la puliscono delle dll rimaste in cache.  A proposito, 
conosci, hai mai provato Memturbo (o simili) che 'deframmenterebbe' la 
ram ?
-- 
...paghiamo allora questo abbonamento,
per mantenerli in salute e in sentimento  :-)
R.Zero 

caratteristica indispensabile al giorno d'oggi.
Ma e' ovvio, solo che comunque i complimenti glieli faccio proprio di
cuore :-)


replica a più non posso degli oggetti.
Certo, pero' se guardi bene ci sono un sacco di "oggetti base"
diversi. Poi ovviamente li combineranno per fare tante cose diverse, e
li moltiplicano centinaia di volte, pero' e' sempre un bell'esercizio
di bravura, perche' sono riusciti a far sembrare le scene sempre nuove
(anche se poi spesso se si sta attenti si vede tantissima roba clonata
centinaia di volte).


 modo eclatante della demo.
Che poi degli algoritmi di compressione/eoncoding di tipo simile ai 
sistemi vettoriali/frattali ci sono pure credo, ma certo non possono 
dare un risultato paragonabile all'uso "classico".


 quando le cose vanno storte.
in passato mi interessai dell'argomento nei ng appositi, e trovai pareri 
simili al tuo. Io provando se c'era un miglioramento sinceramente non so 
dire (ma sono un allegro incompetente) se portassero miglioramenti. 
Anche un amico (che guarda siti di finanza piuttosto pesanti) che ha un 
portatile con PII  e 64 mb di ram , su win98 , gli ho messo su Memturbo 
ma, grandi miglioramenti fissi non si sono visti, ogni tanto quando 
l'indicatore di memoria libera scende parecchio , con una combinazione 
di tasti lui fa uno scrub e per un po' aumenta (penso che potrebbe 
essere configurato che lo faccia in automatico, ma non mi sono 
azzardato).
Di certo con 64 mb di ram miracoli non li puo' fare nessuno  :-)
-- 
...paghiamo allora questo abbonamento,
per mantenerli in salute e in sentimento  :-)
R.Zero - W la Rai 

demo, eppure le dimensioni del file possono raggiungere svariati megabyte.
Dipende da quale CAD usi :-)
CAD != AutoCAD
Un esperimento semplice:
- aprire Notepad (o Blocco Note)
- digitare "pippo"
- salvare e verificare le dimensioni (anche nelle Proprietà del file)
- aprire Word
- digitare "pippo"
- salvare e verificare le dimensioni (anche nelle Proprietà del file)
Ciao, Alessio.
-- 
Sei OT, cazzo, non se ne può più!
("abarossa" su 
it.media.tv
)

 CAD != AutoCAD
Gli altri sono peggio. Tira quattro linee con CATIA o con EUCLID, e
masterizza pure il risultato su DVD-DL... ;-)
-- 
Roberto Rosoni