estava fazendo alguns testes para experimentar as novas funcionalidades do javafx e me deparei com uma diferença enorme no consumo de memória dessa versão 2.2. Foi um teste bobo onde se liga propriedades por meio de bindings. Sinceramente me decepcionei com isso. A versão anterior era a grosso modo 50% mais leve.
Segue uma comparação com um programa similar compilado com gcc 4.4. Ambos fazem a mesma coisa.
Pois é, por isso que quando postaram aqui sobre o JavaFX com Java7 eu falei um “Ou Não” sobre a tecnologia ir para frente de vez. [=
É muito cedo para imaginar que algo vai para frente só por causa de uma release.
Pode ser que depois venham a consertar isso. [=
J
juliocbq
jakefrog:
Pois é, por isso que quando postaram aqui sobre o JavaFX com Java7 eu falei um “Ou Não” sobre a tecnologia ir para frente de vez. [=
É muito cedo para imaginar que algo vai para frente só por causa de uma release.
Pode ser que depois venham a consertar isso. [=
Quem postou fui eu. Do jeito que está, ainda é melhor que o swing e os controles são ainda bem melhores. Mas tá comendo demais.
A versão anterior(2.1) estava bem mais leve.
TerraSkilll
juliocbq
Se não for pedir muito, haveria a possibilidade de você fazer o mesmo teste em um aplicativo usando a versão anterior, ou mesmo uma versão em Swing, pra gente ter uma ideia da diferença?
Claro, as arquiteturas java e qt são diferentes, mas para esse exemplo simples realmente parece um exagero no consumo do Javafx.
Abraços.
J
juliocbq
TerraSkilll:
juliocbq
Se não for pedir muito, haveria a possibilidade de você fazer o mesmo teste em um aplicativo usando a versão anterior, ou mesmo uma versão em Swing, pra gente ter uma ideia da diferença?
Claro, as arquiteturas java e qt são diferentes, mas para esse exemplo simples realmente parece um exagero no consumo do Javafx.
Abraços.
vou fazer um teste hoje a noite e postar aqui.
Jesuino_Master
Fala Julio,
Legal o seu teste.
Você já tentou com java 6? Só por curiosidade.
J
juliocbq
Jesuino Master:
Fala Julio,
Legal o seu teste.
Você já tentou com java 6? Só por curiosidade.
Não testei Jesuino, mas estudando um pouco mais o javafx e usando a jvisualvm descobri que uns 30 mb ali são o “bootstrep do webstart”. Quando rodei a aplicação sem ele ela ficou bem menos comilona.
victorcosta
2.5 MB em uma GUI de um framework que reimplementa os componentes do SO? Tem alguma bruxaria aí
J
juliocbq
A bruxaria é o gcc que otimiza muito o código e também sobe muito pouco recurso pra ram, pois eles estão distribuídos em bibliotecas dinâmicas(dlls). Só são carregados quando necessário.
victorcosta
É que já vi relatos de 7 MB usados em aplicações “Hello World”, então pode ser q tenha algo escondido aí, ou então esse qt de 2012 que é bom d+
victorcosta
Ex: O Framework já estar sendo usado pelo Qt Creator e a aplicação de teste usar compartilhado. Só uma idéia, não sei se é assim e nem entendo nada de programação nativa
Mas o Qt Creator só usa 42 MB, o que já é impressionante, Eclipse que o diga
J
juliocbq
Ali ainda estava usando a versão de debug, que possui uma série de informações extras no executável. A release seria bem menor.
victorcosta
Na verdade no relato gastava 13 MB pro Hello World, ai sugeriram ele fazer a versão de release e caiu pra 7 MB
J
juliocbq
O teste dele devia ter outros módulos incluídos. Como eu só estava testando os sinais emitidos pelos componentes foram inclusos apenas dois: QtCore e QtGui.
Se você incluir network e multimídia dá para aumentar um pouco mais do peso. Mas em geral tudo é muito leve.
Voltando a conversa do javafx, todo aquele peso lá também é culpa do webstart. Mas o legal é que o jfx é muito rápido e a gui responde muito bem. Não tem aqueles lags como o swing, quando você redimensiona a UI.
victorcosta
Procurei outro mais recente e achei um de 2012 em que tinha o código (só o QCore). É baixo mesmo (960K)
Tenho interesse nisso pq quero aprender a fazer aplicações nativas leves no futuro, e Qt deve ser mais agradável do que Win32 e frameworks baseados nele
J
juliocbq
victorcosta:
Procurei outro mais recente e achei um de 2012 em que tinha o código (só o QCore). É baixo mesmo (960K)
Tenho interesse nisso pq quero aprender a fazer aplicações nativas leves no futuro, e Qt deve ser mais agradável do que Win32 e frameworks baseados nele :P