Artigo: 831419 - Última revisão: terça-feira, 25 de Outubro de 2005 - Revisão: 1.6

CORRECÇÃO: Desempenho lento quando chamada System.Drawing.Image.FromStream para carregar uma imagem de mapa de bits

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Se chamar o método gerido System.Drawing.Image.FromStream para carregar uma imagem de mapa de bits, o desempenho é significativamente mais lento do que se carregar uma imagem de mapa de bits utilizando código não gerido.

Causa

Esta diferença de desempenho ocorre porque o método System.Drawing.Image.FromStream chama sempre uma rotina de validação da imagem em imagem carregada.

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Microsoft Visual Studio .NET 2003 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version       Size       File name
   ---------------------------------------------------------------------
   03-Nov-2003  00:49  1.1.4322.965  2,039,808  System.Windows.Forms.dll
   03-Nov-2003  00:49  1.1.4322.965  1,703,936  System.Design.dll
   03-Nov-2003  00:47  1.1.4322.965    466,944  System.Drawing.dll

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a" deste artigo.

Mais Informação

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão que é used to Describe Microsoft Software Updates

Detalhes da correcção

Segue-se o existente método.
System.Drawing.Image.FromStream(Stream stream, bool useICM)
esta chamada de implementa uma nova API de correcção que tem o seguinte protótipo.
System.Drawing.Image.FromStream(Stream stream, bool useICM, bool validateImageData)
se validateImageData for false , a rotina de validação não for chamada. Se validateImageData for verdadeira , a chamada a rotina de validação.

Nota Para utilizar a API de nova, o autor da chamada tem de ter permissão para executar código não gerido.

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbvsnet2003sp1fix kbqfe kbvsnet2003presp1fix kbfix kbbug KB831419 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 831419  (http://support.microsoft.com/kb/831419/en-us/ )