ArthurHub / ArthurHub/HTML-Renderer

Super slow performance when there are lots of "a" html tags

Abierto
#239 2 comentarios 0 reacciones 0 asignados Ver en GitHub
bug HTML
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.