Comparação Binding qt e javafx

Olá pessoal,

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. [=

[quote=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. [=[/quote]

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.

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.

[quote=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.[/quote]

vou fazer um teste hoje a noite e postar aqui.

Fala Julio,

Legal o seu teste.

Você já tentou com java 6? Só por curiosidade.

[quote=Jesuino Master]Fala Julio,

Legal o seu teste.

Você já tentou com java 6? Só por curiosidade. [/quote]

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.

2.5 MB em uma GUI de um framework que reimplementa os componentes do SO? Tem alguma bruxaria aí :smiley:

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.

É 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+ :stuck_out_tongue:

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

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.

Na verdade no relato gastava 13 MB pro Hello World, ai sugeriram ele fazer a versão de release e caiu pra 7 MB

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.

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 :stuck_out_tongue:

[quote=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[/quote]

Existe um curso completo de qt no youtube

C++ Qt 01 - Introduction to QT programming -

[youtube]http://www.youtube.com/watch?v=6KtOzh0StTc[/youtube]

São mais de 100 aulas.

existe também material em http://qt-project.org

Segue o link dos videos que o juliocbq comentou acima… são todos bons pra quer aprender a programar em Qt.
http://www.youtube.com/playlist?list=PL2D1942A4688E9D63&feature=plcp