[hyena] massively improve rendering performance
- From: Gabriel Burt <gburt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [hyena] massively improve rendering performance
- Date: Wed, 26 May 2010 02:39:18 +0000 (UTC)
commit f877f08455db188319662e6fd8555345a1e82a57
Author: Aaron Bockover <abockover novell com>
Date: Thu Jan 21 22:38:12 2010 -0500
massively improve rendering performance
While I have always oh so carefully computed proper clipping/damage
rectangles which prevent unnecessary regions of the view being
repainted on screen, I have never used this data to prevent walking
the scene unnecessarily.
That is, if we're not going to paint something on screen, don't
go through the motions to lay it out in memory either.
Face->Palm. Yet another thing that became more obvious and simple
by moving to this awesome new layout system.
I need to go for a beer run. Also, Sandy is a great listener.
.../Hyena.Data.Gui/ListView/ListView_Rendering.cs | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/src/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs b/src/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
index 944e256..9497ef4 100644
--- a/src/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
+++ b/src/Hyena.Gui/Hyena.Data.Gui/ListView/ListView_Rendering.cs
@@ -478,6 +478,8 @@ namespace Hyena.Data.Gui
if (model_row_index < 0 || model_row_index >= Model.Count) {
break;
+ } else if (!layout_child.Allocation.IntersectsWith (clip)) {
+ continue;
}
if (Selection != null && Selection.Contains (model_row_index)) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]