ArthurHub / ArthurHub/HTML-Renderer
Super slow performance when there are lots of "a" html tags
- Lenguaje dominante
- C#
- Estrellas
- 1.4k
- Forks
- 550
- Merge medio
- 14 d 9 h
- PR fusionados (30 d)
- 1
Descripción
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;
}
```
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza perfilando la función IsBlockAssignableToBox mientras cargas un documento HTML con unas 200 etiquetas a y, después, compara la ruta normal con la modificación indicada. Se considera terminado cuando el documento renderiza los enlaces sin la grave ralentización de la carga inicial; el issue no menciona ningún archivo de prueba ni de código fuente aparte de esta función.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp, html
- Área
- frontend, performance
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100