WPF 3.5 SP1

O SP1 para o .NET 3.5 já anda por aí há uns tempos mas algumas das novidades ainda estão por explorar. No WPF as novidades são muitas, pricipalmente em termos de melhorias de desempenho e efeitos gráficos.

Um dos grandes problemas dos bitmap effects era o facto de serem software rendered, o que os tornava lentos e grandes consumidores de CPU. No SP1 os efeitos são hardware accelerated, pelo que todo o trabalho é realizado pela placa gráfica! Apesar disso, continua a existir suporte automático para software rendering, no caso das placas gráficas não suportarem pixel shaders. Para além disso foi introduzido um sistema de efeitos extensível, sendo possível implementar novos efeitos para serem integrados nas aplicações através de HLSL (high level shading language). De facto existe já uma biblioteca de efeitos no codeplex, estando disponível o código fonte. Temos à disposição um conjunto de efeitos complexos prontos a utilizar e com desempenhos bastante bons. Uma das coisas que achei fantástica é que os efeitos encaixam perfeitamente no sistema de data binding, já que utilizam dependency properties. Os vários parâmetros podem ser animados com os storyboards utilizados para animar controlos e tudo o mais na plataforma ou mesmo ajustados em tempo de execução!

Uma outra funcionalidade que chamou bastante à atenção é a integração de controlos 2D em superficies 3D, mantendo-os activos, mesmo com efeitos complexos sobre eles! É também dado suporte para janelas não rectangulares (com qualquer forma, mesmo!) e para conteúdo Direct3D, sendo melhorada a interoperabilidade com o DirectX.

Vale a pena ver alguns vídeos do Channel 9 que mostram estas novidades:

  • Vídeo 1overview geral com um dos PM do WPF, com as demos respectivas onde ficam bem patentes as melhorias de desempenho.
  • Vídeo 2 – pequena apresentação da biblioteca de efeitos.
  • Vídeo 3 – demostração de muitos dos efeitos, sem conversa pelo meio! =)

Deixo ainda um link para quem quiser começar a experimentar mexer nisto.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s