
LightWave
[9] in arrivo.. ma facciamo il punto sulla [8].
Con l'uscita della versione 8.5 a 32bit di LightWave
il 10 ottobre 2005 e di quella a 64bit il 21 ottobre 2005,
credo si chiuda il ciclo della serie [8], la quale presto
cederà il posto a tutte le novità che ci
attendono nella [9]. A tal proposito, quali sono le premesse
che ci lascia quest'ultima release del primo ciclo di
aggiornamenti rilasciato dal nuovo team di sviluppo Newtek?
Già abbiamo visto, fino alla 8.2.1, com'era la
situazione. Ora completiamo il discorso, analizzando nello
stesso modo la 8.3 e la 8.5 (32bit e 64bit).
Una piccola nota prima di iniziare: ho aumentato
la varietà di risoluzioni dei test, aggiungendo,
dove possibile, la 1280x1024; purtroppo però, non
troverete i benchmark delle versioni precedenti alla 8.3,
i cui risultati non sono disponibili per l'analisi. Inoltre,
nell'articolo spesso compariranno delle indicazioni percentuali
dell'incremento/decremento dei tempi di resa delle 8.5
a 32bit e 64bit: tali percentuali sono sempre riferite
ai tempi registrati con la versione 8.3.
| |
Il
texturing (Textures.lws) |
|

Il grafico mostra dei raffinamenti nel calcolo delle
texture procedurali, in particolar modo nella versione
a 64bit. Si tratta comunque di un guadagno marginale e
poco percettibile, che potrebbe farsi sentire solo in
rendering di intere scene contenenti numerose mappe di
questo tipo.
| |
Il
RayTracing (RayTrace.lws, Tracer-NoRadiosity.lws) |
|

Il test di raytracing è il primo a evidenziare
il problema principale della 8.5 a 32bit.. Ma andiamo
con ordine. La 8.3 si allinea ai risultati delle precedenti
versioni, eliminando però quel lieve margine riscontrato
con la 8.2.1; mentre con la 8.5 a 32bit la situazione
cambia completamente, purtroppo in negativo: la perdita
di prestazioni ammonta al 17-22%, una percentuale preoccupante.
L'inversione di tendenza si ha con la 8.5 a 64bit, la
quale offre invece un miglioramento dal 6% al 9% rispetto
alla 8.3.
Cosa è quindi successo alla 8.5 a 32bit? I risultati
dei test (ricontrollati più volte) sono strani
e non previsti.. per ora, e per tutto il proseguo dell'articolo,
mi limiterò all'osservazione dei valori, rimandando
alla conclusione l'elenco delle possibili cause di questo
peggioramento.
La 8.3 si allinea ai risultati delle precedenti
versioni, con una leggera perdita rispetto alla 8.2; niente
a che vedere però con quella della 8.5 a 32bit,
la quale mostra un aumento dei tempi di calcolo dell'ordine
del 7-9%. Molto bene invece la versione a 64bit, che renderizza
l'immagine del test con un guadagno del 10-12% rispetto
alla 8.3.
| |
Radiosity (Radiosity_Things.lws) |
|

Nel radiosity, le osservazioni fatte finora per
la 8.3 vengono mantenute, visto che i risultati dei bench
si allineano a quelli di tutte le altre versioni di LightWave.
Questo test sembra invece essere il peggiore per la 8.5,
sia a 32bit che 64bit: entrambe le soluzioni sono lente,
aumentando i tempi di rendering la prima di ben il 55%
e la seconda di più del 20%.
| |
Raytracing
e radiosity (Radiosity_ReflectiveThings.lws, Tracer-Radiosity.lws) |
|

L'accoppiata radiosity/raytracing produce risultati
contrastanti. In questo test, la 8.3 si mantiene ai livelli
delle precedenti release, mentre la 8.5 ancora produce
ritardi preoccupanti sia nella versione 32bit (55% di
tempo in più) che in quella 64bit (+20%).

Diversa la situazione del secondo test: la 8.3
di piazza tra la 8.0.1 e la 8.2.1, la 8.5 a 32bit conferma
la propria lentezza con un incremento dei tempi di resa
del 7% mentre quella a 64bit si comporta all'opposto riducendoli
in ugual percentuale rispetto alla 8.3.
| |
Effetti:
Depth of Field (DOF.lws) |
|

Il test sul depth of field integrato di LightWave
denota un buon comportamento della 8.3 in questa circostanza,
visto che il tempo di resa si allinea a quello fatto registrare
dalla 8.0.1 (la migliore della serie 8.x in questo caso).
Ancora in ritardo la 8.5 a 32bit (+13-20%), ma mai quanto
quella a 64bit, per la prima volta più lenta (+24-30%)
addirittura della controparte a 32bit.
| |
Effetti:
Hypervoxel (Nebulae.lws, Variations.lws) |
|

Comportamento simile questa volta tra 8.3 e 8.5
32bit, mentre l'hypervoxel mal si comporta nella versione
a 64bit, piuttosto lenta rispetto alle controparti a 32bit
(+34-35%).

Allineate in questo test la 8.3 e la 8.5 a 64bit
rispetto alle versioni precedenti, mentre un incremento
apprezzabile si nota nella 8.5 a 32bit, per la prima volta
migliore di tutte le atre del 10-13%.
L'analisi prestazionale delle varie versioni di
LightWave [8] che si sono susseguite in questi mesi sono
piuttosto discordanti. Da utente LightWave, ritengo la
8.3 come il migliore compromesso tra novità portate
dal software e velocità degli algoritmi di rendering.
Buone soluzioni sono anche la 8.0.1 e la 8.2.1, ma prive
di alcune interessanti novità.
Tutt'altro il discorso da fare con la 8.5.
La versione a 32bit soffre un inaccettabile innalzamento
dei tempi di resa, che varia da pochi punti percentuali
a più del 50% rispetto alla 8.3. Come è
possibile? Come sempre, si possono fare solo ipotesi che
prendano in esame i diversi aspetti di un software, arricchiti
dai commenti espressi sul forum ufficiale sulla questione.
Credo che questa 8.5 sia un passo verso la 9, ovvero presenti
dei cambiamenti interni che porteranno tutti i loro benefici
nella prossima generazione di LightWave, ma mal si sposano
con quanto esistente: nuovi algoritmi o strutture dati
presenti in alcune parti del core potrebbero entrare in
attrito con altre rimaste invariate rispetto al passato,
provocando questo notevole gap prestazionale. Inoltre,
c'è un'altra possibile spiegazione, che si fa strada
soprattutto leggendo i thread sul forum ufficiale: il
passaggio da parte di Newtek ad un nuovo compilatore,
prettamente Intel; è noto infatti che essi portano
benefici ai vari Pentium/Xeon costruiti dalla casamadre,
ma contemporaneamente tendano ad “azzoppare”
le prestazioni dei processori concorrenti, AMD in primis.
Infatti, leggo sempre più spesso utenti Intel che
ringraziano questa 8.5 a 32bit per l'incremento prestazionale,
mentre contemporaneamente i possessori di Athlon/Opteron
si domandino perchè per loro renderizzare sia diventato
ancor più dispendioso di prima. Ricordo che i risultati
dei test riportati in questo articolo sono stati fatti
sul mio PC casalingo, dotato di un AMD Athlon64 3500+,
quindi unità di elaborazione concorrente ad Intel
e, tra l'altro, sprovvista delle istruzioni SSE3 che potrebbero
fornire un'ulteriore diminuzione dei tempi di rendering
con CPU che le supportino. Interessante sarebbe quindi
testare le varie versioni di LightWave su una macchina
Intel, cosa per me impossibile visto che non ne possiedo
nessuna.
LightWave a 64bit, invece, mostra tutta la sua
gioventù. Si può dire che l'hypervoxel è
stato trascurato, come il depth of field, mentre è
interessante il comportamento degli algoritmi radiosity
(anche se non sempre) e soprattutto raytracing, i quali
già iniziano a sfruttare tutte le potenzialità
fornite dalle estensioni AMD64 e EM64T presenti nei processori
che le supportano.
E' chiaro dunque che il devteam di LightWave stia
concentrando tutte le proprie risorse sulla rivoluzionaria
versione [9], che porterà cambiamenti nella maggior
parte dei settori del software, tra cui le prestazioni
degli algoritmi raytracing e radiosity; ciò nonostante,
mi sento in dovere di innalzare una critica al team di
sviluppo Newtek per aver un po' trascurato quest'ultima
release della serie [8], la quale resterà l'ultima
scelta per coloro i quali non hanno intenzione di eseguire
l'upgrade, e che si ritroveranno con un software “azzoppato”
(almeno di una ulteriore release non pianificata che sistemi
i problemi evidenziati nei test). Invece, poco cambia
per tutti gli altri, i quali faranno in fretta a dimenticare
questa critica quando avranno tra le mani il motivo dell'imperfezione
di questa 8.5.. ovvero LightWave [9]!
Commenti
all'articolo »