segunda-feira, 22 de setembro de 2008

Listview: de 20 a 40 por cento mais rápido !

Uma das dificuldades que os desenvolvedores sentem ao utilizar o Listview é a demora que existe incluindo uma quantidade razoável de dados em sua estrutura. Utilizando dois métodos simples, o desenvolvedor pode ganhar até 40 por cento do tempo gasto com esse procedimento, tornando assim o Listview mais rápido.

Quando estamos alimentando um Listview com dados, o Windows se encarrega de mostrar visualmente esse procedimento. As linhas e colunas do Listview vão sendo atualizadas, a barra de rolagem é redesenhada proporcionalmente à quantidade de ítens, entre outras coisas. O método "stopRedrawing" indica ao componente que nenhuma atualização visual deve ser feita enquanto os dados forem incluídos. O método "startRedrawing" retorna o componente à sua condição normal.

Localize em seu programa o ponto exatamente anterior à inclusão dos seus dados no Listview e então acrescente a linha abaixo:

invoke umListview "stopRedrawing"

Ao terminar a inclusão de dados em seu Listview, precisamos dizer a ele pra voltar a sua condição normal. Para isso, acrescente a linha abaixo:

invoke umListview "startRedrawing"

Você vai notar que a inclusão dos dados em seu componente será de 20 a 40 por cento mais rápida.

Observação: o fato do Listview não ser atualizado visualmente na inclusão dos dados, pode dar a impressão ao usuário de que o micro está travado, pois nada é mostrado no Listview indicando que ele está sendo "alimentado". Portanto, é interessante que alguma mensagem seja colocada ao usuário comentando sobre essa atualização.


2 comentários:

Anônimo disse...

Dica show de bola hein.

Rotinas que levavam 25,26 segundos pra pesquisar, agora baixaram pra 13,14.

Valeu pela dica xará.

Abraço.

Anônimo disse...

Post recomendado!

As pesquisas ficam mais rápidas!
De maneira muito simples. É isso ai.

Valeu.
Abraço!