ArthurHub / ArthurHub/HTML-Renderer
Super slow performance when there are lots of "a" html tags
- Linguagem predominante
- C#
- Estrelas
- 1.4k
- Forks
- 550
- Merge médio
- 14d 9h
- PRs com merge (30d)
- 1
Descrição
I am displaying an HTML, having about 200 **a** tags, the initial load and display of html is super slow.
When I modify **IsBlockAssignableToBox** function, so it does not add **a** tags, the performance issue is resolved ( and offcourse a tags are not rendered as links)
modifed **IsBlockAssignableToBox** version :
```
private static bool IsBlockAssignableToBox(CssBox box, CssBlock block)
{
bool assignable = true;
if (block.Selectors != null)
{
assignable = IsBlockAssignableToBoxWithSelector(box, block);
}
else if (box.HtmlTag.Name.Equals("a", StringComparison.OrdinalIgnoreCase) && block.Class.Equals("a", StringComparison.OrdinalIgnoreCase)
// && !box.HtmlTag.HasAttribute("href")
)
{
assignable = false;
}
if (assignable && block.Hover)
{
box.HtmlContainer.AddHoverBox(box, block);
assignable = false;
}
return assignable;
}
```
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece criando um perfil da função IsBlockAssignableToBox ao carregar um documento HTML com cerca de 200 tags a e, em seguida, compare o caminho normal com a modificação relatada. Considera-se concluído quando o documento renderiza os links sem a grave lentidão no carregamento inicial; a issue não menciona nenhum arquivo de teste ou de código-fonte além dessa função.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp, html
- Domínio
- frontend, performance
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100