From e5045651a0b695a72aeb2fb1696cedf0d9e57a2c Mon Sep 17 00:00:00 2001 From: Jorge Arellano Cid Date: Fri, 17 Jun 2016 11:18:51 -0400 Subject: Fix for CPU-hog bugs with deeply nested elements. This patch fixes a cpu-hog regression of GROWS2 with respect to dillo-3.0.5. The problem arises with some deeply nested elements. e.g.: (for i in $(seq 1 20); do echo '
'; done) > t0.html (for i in $(seq 1 20); do echo '
'; done) > t1.html For both, taking away the SPAN or float is much faster. Note: Some "unrelated" sited (i.e. not clearly hogging the CPU) have been measured to render near two times faster with the patch. --- dw/textblock.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dw') diff --git a/dw/textblock.cc b/dw/textblock.cc index f851fd4e..beff9cd5 100644 --- a/dw/textblock.cc +++ b/dw/textblock.cc @@ -3034,7 +3034,7 @@ void Textblock::queueDrawRange (int index1, int index2) void Textblock::updateReference (int ref) { - if (lines->size () > 0) + if (lines->size () > 0) queueResize (ref, false); } -- cgit v1.2.3 From 65966421a337898bc29d4557bdc1ec076a179501 Mon Sep 17 00:00:00 2001 From: Jorge Arellano Cid Date: Fri, 17 Jun 2016 18:04:15 -0400 Subject: Fix for updateReference() (missing content, overlapped text sometimes) This is a race condition. When loading [1], tables under the form date camp, may dissapear and some overlapping text be shown below. How to reproduce: load the site (network effect may be enough), or go back and forward a few times, or maximize then back and forward. [1] http://www.btgpactual.mdgms.com/www/chile/resume.html FWIW this is the only regression I've found so far. --- dw/textblock.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dw') diff --git a/dw/textblock.cc b/dw/textblock.cc index beff9cd5..124e6a80 100644 --- a/dw/textblock.cc +++ b/dw/textblock.cc @@ -3034,7 +3034,7 @@ void Textblock::queueDrawRange (int index1, int index2) void Textblock::updateReference (int ref) { - if (lines->size () > 0) + if (words->size () > 0) queueResize (ref, false); } -- cgit v1.2.3