Olá a todos!
Estou estudando um pouco sobre tunning de apps swing, gostaria de indicações de literatura ou artigos sobre.
Muito Obrigado!
Olá a todos!
Estou estudando um pouco sobre tunning de apps swing, gostaria de indicações de literatura ou artigos sobre.
Muito Obrigado!
Não conheço nenhuma literatura específica. Mas como todo tunning, você precisa conhecer bem a tecnologia que está sendo tunada.
Nesse caso, é muito bom ler o material da Sun sobre como criar componentes a partir do zero:
http://java.sun.com/products/jfc/tsc/articles/painting/
http://java.sun.com/docs/books/tutorial/uiswing/painting/index.html
http://today.java.net/pub/a/today/2007/02/22/how-to-write-custom-swing-component.html
http://today.java.net/pub/a/today/2006/10/03/enhancing-swing-applications.html
https://jdnc-incubator.dev.java.net/documentation/l2fprod/LookAndFeelAddons.html
É bom ter uma visão clara do funcionamento do Java 2D (para isso veja os tutoriais no meu site).
E claro, tem que sempre ter a mão um bom profiler.
Uma outra coisa que descobri. Jamais use sincronização no this, quando sua classe estender uma classe Swing. Isso pode travar aplicação. No lugar, use a sincronização sobre um objeto qualquer, nem que você o crie só para isso.
Isso pq em alguns trechos o swing faz coisas como:
JPanel pnl = getPanel(); //Retorna o seu painel
synchronized (pnl) { //Isso trava se seu painel tiver feito synchronized this
Outro ponto que merece uma atenção, que não é necessariamente uma ‘tunada’, mas sim uma melhoria na resposta ao usuário.
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html
Com ele próprio diz:
[quote=fabiofalci]Outro ponto que merece uma atenção, que não é necessariamente uma ‘tunada’, mas sim uma melhoria na resposta ao usuário.
http://java.sun.com/docs/books/tutorial/uiswing/concurrency/index.html[/quote]
Na palestra que tenho sobre performance também comento sobre performance real versus performance percebida.
Agora, não faz muito sentido falar em tunning em Swing pq dificilmente os componentes Swing representam gargalos significativos de performance.
Ah, me concentrei no Swing.
Você pode procurar por tunning de apps no geral. Não sei o quão familiar você é com esse assunto.
Mas uma boa referência são os artigos do Goetz da série “Java Theory and Practice”: http://www.briangoetz.com/pubs.html
Há também livros sobre o assunto. O site javaperformancetuning é outra referência, mas como eles não filtram muito o conteúdo por lá (o filtro eles fazem no livro que publicam) é bom ler os artigos com um pé atrás, tem muito misticismo por lá.
Eu tenho o livro Swing Hacks, se quiser te dou ele.
[]s