sexta-feira, 11 de março de 2011

Silverlight: Dica de performance

Essa semana resolvi um problema interessante de uma aplicação feita em Silverlight.

Estava investigando por que uma determinada aplicação estava lenta e atacamos nas coisas mais óbvias: acesso a banco, chamadas de serviço, tamanho de objetos e por ai vai. Aparentemente não havia que justificasse a lentidadão da aplicação.

Resolvemos então verificar se não havia algum recurso que estavamos usando do silverlight para causar o problema. Procurando no Google por pessoas que passaram pelo mesmo problema, vimos várias dicas referentes ao uso de transparencia e os problemas que isso pode causar quando não utilizado com moderação.
A nossa aplicação não estava utilizando transparencia mas sim sombra (DropShadow), quando removemos o efeito: Bingo!

Não estou querendo dizer que o DropShadow causa problema de performance, tanto que continuamos usando, mas removemos esse efeito em alguns pontos para ter a melhoria necessária sem prejudicar o layout, ou seja, é importante ficar atento ao uso desse tipo de recurso e o quanto ele pode onerar o desempenho da aplicação.

Abraços!

2 comentários:

Ad Soares disse...

Muito interessante. Você encontrou alguma palavra oficial do time de Silverlight sobre este problema?

Unknown disse...

Infelizmente até o momento não encontrei nenhuma informação de alguém represetando a Microsoft, um MVP por exemplo, falando desse problema, porém, encontramos com facilidade na internet pessoas comentando desse problema ex.: http://blogs.catapultsystems.com/asills/archive/2010/12/20/performance-degradation-using-drop-shadows-in-silverlight.aspx