PDA

View Full Version : [JavaFx] problemi prestazioni interfacce adobe illustrator


VioletFairy
23-03-2010, 16:12
Ciao ragazzi,
sto lavorando su un'applicazione desktop con java e javafx.

Ho un problema: da quando ho aggiunto nei miei scene interfacce fxz esportate da adobe illustrator mi da problemi di memoria, mi ha dato infatti l'eccezione OutOfMemoryError. Ho allora aumentato la memoria per la mia applicazione per risolvere questo problema, ma la mia applicazione ha delle prestazioni pessime! (un video che ho mandato in esecuzione scatta terribilmente, la canzone in play scatta se interagisco con il volume e problemi analoghi...)

Quello che vorrei sapere è se avete provato anche voi ad integrare interfacce fatte con Photoshop o Adobe Illustrator, che prestazioni avevate?

Il file che ho integrato .fxz occupa 148 KB... non mi sembrano tanti... :help:

PGI-Bis
23-03-2010, 16:21
Dovresti usare un profiler per verificare cosa accada alla memoria.

Messa così parrebbe quasi essere che il garbage collector sia impegnato in una pulizia completa periodica. Se così fosse il profiler mostrebbe nel grafico della memoria un picco verticale molto alto seguito da una piccola traccia a dente di sega che raggiunge ogni volta il limite superiore.

VioletFairy
24-03-2010, 14:34
Allora, ho degli aggiornamenti. Non è un problema di memoria occupata dal .fxz, in quanto ho caricato un altro .fxz più grande 376 KB (contro i 148 KB de primo) e non mi da problemi, non scatta, non si blocca, non perde di prestazioni. L'interfaccia con Adobe Illustrator non l'ho fatta io ma a questo punto ci deve essere un problema nella prima. Come faccio a capire quale può essere il problema?

Questo cmq è ciò che esce dal profiling della memoria

PGI-Bis
24-03-2010, 15:39
Dal grafico direi che non è un problema di garbage collection.

Potrebbe semplicemente essere "buggato" javafx. E' pur sempre una tecnologia relativamente giovane. Magari nel documento che carichi c'è una combinazione di elementi che manda in pappa il traduttore facendogli generare un albero di proiezione terribilmente inefficiente o con dei loop (la cpu viene ciucciata molto dal processo?).

VioletFairy
25-03-2010, 14:26
Dal grafico direi che non è un problema di garbage collection.

Potrebbe semplicemente essere "buggato" javafx. E' pur sempre una tecnologia relativamente giovane. Magari nel documento che carichi c'è una combinazione di elementi che manda in pappa il traduttore facendogli generare un albero di proiezione terribilmente inefficiente o con dei loop (la cpu viene ciucciata molto dal processo?).

Ho trovato il problema, spulciando il codice del file .fxz ho visto che alcune immagini avevano gli effetti Blend e InnerShadow, ho tolto questi effetti e adesso sembra che funzioni... L'interfaccia non l'ho disegnata io ma a quanto ho capito, quella che non dava problemi era stata fatta con Adobe Illustrator mentre l'altra con PhotoShop quindi mi sa che è PhotoShop che da problemi... Dico questo perchè gli oggetti che con tali effetti erano semplici quadrati bianchi o neri...

Se ho ulteriori news vi aggiorno :)

Cmq sì la cpu era parecchio stressata