Desenpenho da interface grafica

Hoje eu uso o Delphi para programar.

Estou estudado Java e pretendo me especializar, só que eu gostaria de tirar algumas duvidas sobre o desempenhoa da interface grafica.

Se fosse para fazer um programa tipo contas a receber, uma folha de pagameto, etc com uma interface grafica tipo swing.

Ficaria muito pesado para carregar a primeira vez depois nem tanto.
Tem alguma forma de minizar isto este carregamento pesado ?

Muito Obrigado

Instancie apenas o que o usuario ve na tela, e se livre de tudo que nao esta visivel. A ideia parece simples, mas gerenciar isso pode ser uma tarefinha bem macha. :smiley:

Ah, e nao se esqueca que existem dois tipos de demora: a real e a percebida. Quanto maior a demora percebida, mais furiosos teus usuarios vao ficar, mas se a demora percebida continuar pequena, enquanto a real aumenta, ninguem fala nada :slight_smile:

Se você programa em Delphi provavelmente conhece a forma de se criar janelas só quando precisa:

try
  Application.CreateForm(TfrmTeste, frmTeste);
  frmTeste.ShowModal;
finally
  frmTeste.free.
end;

Muita gente não usa o código acima e as janelas são criadas todas quando o program roda. Como disse o cv:

o controle de instanciação é mais complexo do que o simples código acima, porém dá pra melhorar bastante.
Uma aplicação java nunca vai rodar tão rápido quanto uma aplicação Delphi idêntica (graficamente), por n motivos. Mas lembre-se que o que era lento há dois anos é aceitável hoje. Eu mesmo há uns três anos deixei de fazer um sistema em java por que achei que ficaria muito lento. Depois de um tempinho reclamando, hoje o cliente nem ia perceber a diferença e gozaria de todas as vantagens (eu também).
Pense bem, leve em consideração outros fatores também.

Duas palavras pra vc: splash screen. Que ironia da informática, colocar mais código pra melhorar a usabilidade durante um processo lento.

Em Swing, pelo menos (não sei como é com SWT), não vale à pena normalmente criar as janelas de novo, pq vc ataca sempe a velocidade aparente. Vale a pena criar JDialogs de novo, ainda mais se vc usa JOptionPane, pq tem várias otimizações aí.

Bom, tb tô falando de apps onde a GUI é o centro da atenção do usuário. É o caso de formulários. Em apps centradas em documento, como editores de texto, deve mudar bastante a abordagem.

[]s!