.INTERNET

Sistema.Diagnóstico.Degrada o desempenho do StackFrame no Windows 10

Sistema.Diagnóstico.Degrada o desempenho do StackFrame no Windows 10

Se depois de atualizar para o Windows 10 ou .NET Framework 4.7.1, e você nota uma diminuição significativa no desempenho ao executar .Aplicativos NET Framework que usam o Sistema.Diagnóstico.StackFrame classe, então esta postagem pode interessar a você. Analisaremos a causa e, em seguida, ofereceremos soluções conhecidas para o erro.

Sistema.Diagnóstico.Degradação de desempenho StackFrame

Um aplicativo que teve um desempenho aceitável em execução no .NET Framework 4.7 ou versões anteriores são executados mais lentamente quando executados no .NET Framework 4.7.1. Os aplicativos geralmente contam com StackFrame quando lançam .Exceções NET. Se isso ocorrer em uma taxa alta (mais de 10 incidentes por segundo), os aplicativos podem desacelerar significativamente (dez vezes) e executar visivelmente mais lento do que antes.

Causa do Sistema.Diagnóstico.Degradação de desempenho StackFrame

O .NET Framework 4.7.1 no Windows 10 adicionou suporte para detectar e analisar o formato de arquivo PDB portátil para mostrar informações de arquivo e número de linha em rastreamentos de pilha. Como parte dessa mudança, cada função em um rastreamento de pilha tem seu módulo de definição verificado para determinar se esse módulo usa o formato PDB portátil. Devido a algumas diferenças na política de cache interno, o tempo de execução gasta muito mais tempo procurando PDBs portáteis do que o anterior .Versões do NET Framework usadas na busca de PDBs clássicos do Windows.

Isso faz com que os rastreamentos de pilha formatados sejam produzidos mais lentamente do que antes.

Este problema não altera o número de exceções lançadas. No entanto, diminui significativamente a capacidade dos aplicativos de lidar com essas exceções.

Os aplicativos que usam a biblioteca IKVM são conhecidos por serem afetados por esse problema se eles sondarem os assemblies. A sondagem de assemblies é conhecida por causar exceções.

Sistema de correção.Diagnóstico.Problema de degradação de desempenho do StackFrame

Para resolver esse problema, a Microsoft recomenda o uso de um dos seguintes métodos.

1] Use um construtor diferente para StackFrame que leva um argumento booleano

Esta é a solução preferida.

Se os desenvolvedores de aplicativos puderem fazer alterações em seus aplicativos, ligue para o Sistema.Diagnóstico.StackTrace.#ctor (booleano) construtor usando um argumento falso para evitar a captura de informações de origem. Isso evita a seção do código em que o desempenho é diminuído.

2] Reverter ou atualizar para a versão mais recente do Windows 10

Neste método, reverta para a versão / compilação anterior ou atualize para a versão / compilação mais recente do Windows 10 se estiver tendo esse problema e não estiver executando a versão mais recente do Windows 10. Desinstale também .NET Framework 4.7.1 se presente, do seu computador e, em seguida, baixe e instale uma versão anterior ou a versão mais recente do .NET Framework.

Espero que isto ajude!

Análise do mouse sem fio Microsoft Sculpt Touch
Recentemente li sobre o Microsoft Sculpt Touch mouse sem fio e decidi comprá-lo. Depois de usá-lo por um tempo, decidi compartilhar minha experiência ...
AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...