InovaFiscaliza / appAnalise

Aplicação de pós-processamento de dados gerados em monitorações do espectro de radiofrequências.
GNU General Public License v3.0
0 stars 0 forks source link

Inicialização #14

Open EricMagalhaesDelgado opened 6 months ago

EricMagalhaesDelgado commented 6 months ago

Tentativa de tornar mais eficiente o processo de inicialização do webapp RFDataHub e, consequentemente, do seu módulo embarcado no appAnalise.

EricMagalhaesDelgado commented 6 months ago

Foi otimizada a inicialização do app - as chamadas às funções, a posição do drawnow, o posicionamento do geoaxes etc. Em 13/02/2023, o app demorava 12s para finalizar a renderização dos componentes em tela, estando apto ao uso para o fiscal. Agora, o app demora 6s.

A alteração no geoaxes, outrora posicionado num tiledlayout, mas migrado para um uipanel, foi realizada por sugestão da própria Mathworks, na tentativa de resolver a posição do painel de basemaps. A influência na inicialização é marginal, mas tornou muito melhor a interação com o geoaxes e a atualização do basemap.

Foi migrado o controle de seleção de abas. Em tese, isso deveria tornar a inicialização do webapp mais eficiente porque somente são renderizadas em tela os componentes da aba selecionada (o que foi confirmado especiando o HTML no modo de Debug do Chrome). Ao fazer isso, entretanto, a janela de progresso do MATLAB WEB SERVER não é excluída após a carga do app - o que parece ser um bug, mas não consegui replicar com outro app composto apenas pelo TabGroup. A solução foi usar o componente que funciona como backdoor da página para excluir o elemento (em JS).

Ainda existem algumas operações que podem ser estudados e podem trazer ganhos. Por exemplo:

Os tempos aqui aferidos são no ambiente de desenvolvimento do MATLAB. De forma geral, esse tempo se mantém na versão desktop do app (que usa o MATLAB RUNTIME), mas na sua versão webapp (MATLAB WEB SERVER) o tempo aumenta consideravelmente (de 6 para 22 segundos, no servidor web local).