Prezados(as),
Vou descrever aqui um pouco do desempenho do inVesalius 3.0a no meu computador rodando o Ubuntu 9.04.
Vou começar informando as configurações básicas de meu computador:
- Processador: AMD Sempron 3000+ (1.8 GHz)
- Ram: 1 Gb
- Placa de vídeo: nVidia GeForce 6200 (256 Mb)
Como vocês podem notar, é um computador um tanto quanto modesto para os dias atuais.
Com apenas o sistema operacional rodando mais o aplicativo de "Monitor do Sistema", há o consumo de 20% da CPU e 19,4% da RAM.
Já quando (apenas) executo o inVesalius, o consumo de memória sobe um pouco, 25,2%. O consumo de CPU permanece na casa dos 20%.
Ao importar 54 imagens DICOM, com resolução 512x512 cada e totalizando 27,1Mb, mas ainda sem clicar em "OK" na janela "Pré-visualização dos dados que serão reconstruídos", o consumo de memória vai para 31,6% e o CPU para 30%.
Após carregar as 54 imagens descritas acima (isto é, após clicar em "OK" no botão mencionado), o consumo de memória dá um pulo para 67% e o CPU volta para 20%.
Finalmente, maximizando a janela de visualização "Volume" e escolhendo a opção "Brilhante" como forma de visualização, o consumo de memória vai para 75,1%.
Agora, com a janela "Volume" maximizada e exibindo a estrutura que abri (no caso, uma parte do crânio), eu fiz alguns testes como: rotacionar, alterar brilho, efetuar zoom, etc. Em qualquer uma das operações, o consumo de CPU foi para 100% durante um tempo entre 10s à 20s. Em resumo, nessas condições é preciso ter um pouco de paciência, haja vista que após cada operação temos que deixar de mexer no programa por um tempo de 10s à 20s.
Repetindo os testes, mas com a janela "Volume" na visualização normal (isto é, essa janela com mais as três outras representando as fatias), o desempenho do programa melhora. Isso já era esperado, haja vista que a renderização necessária para a janela "Volume" consome mais recursos.
De um modo geral, fico me perguntando se o consumo de recursos também fica maior devido ao fato de todo o programa ser escrito em Python. Digo isso pois o Python é uma linguagem interpretada (não compilada) e além disso gerencia o tipo das variáveis de forma dinâmica. Contudo, como não sou especialista no assunto, fico apenas com a dúvida.
Att,
Luiz Aquino.
Autor: Luiz Aquino
55 comentários
Ram: 1 Gb
Placa de vídeo: nVidia GeForce 6200 (256 Mb) No caso específico de seu computador, seria bastante interessante ter mais memória. Processadores 64b e/ou multi-core também resultam em melhorias significativas. De um modo geral, fico me perguntando se o consumo de recursos também fica maior devido ao fato de todo o programa ser escrito em Python. Digo isso pois o Python é uma linguagem interpretada (não compilada) e além disso gerencia o tipo das variáveis de forma dinâmica. Contudo, como não sou especialista no assunto, fico apenas com a dúvida Em relação ao uso de Python, a linguagem não é o problema. Para a maior parte das tarefas do InVesalius utilizamos classes compiladas em C++ do VTK, sendo python apenas uma interface. Já fizemos testes, inclusive, portando parte do código fonte do InVesalius para C++ e não houveram avanços significativos. Alguns problemas que conhecemos na estrutura do InVesalius e podem ser melhorados, a fim de otimizá-lo: (1) praticamente todos os dados são carregados em memória; e, em relação ao processamento 3D, (2) utilizamos a CPU (processador) para renderizar os dados, e não a GPU (placa de video). Você sendo um desenvolvedor, pode nos ajudar a melhorar estas questões! Abraços, Tatiana [1] svn.softwarepublico.gov.br/trac/invesalius/wiki/downloads/pt/3.0-beta-1 [2] www.softwarepublico.gov.br/dotlrn/clubs/invesalius/forums/forum-view?forum_id=631001