summaryrefslogtreecommitdiffstats
path: root/pkg/gui/context/base_context.go
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2024-06-23 13:13:58 +0200
committerGitHub <noreply@github.com>2024-06-23 13:13:58 +0200
commitcf40a5b077343cf6cf3de50b60fc4b47ce929dc1 (patch)
treeb27de3b227276cf54d39238e8162b79eb029567e /pkg/gui/context/base_context.go
parenta62a5089d6ed5ba989279590a5bd3426829c856d (diff)
parent26132cf5bdae7ec81e9a0708c722ad2a9cf0c2cf (diff)
Improve render performance (#3686)
- **PR Description** Fix a performance regression that I introduced with v0.41: when entering or leaving staging mode for a file, or when switching from a file that has only unstaged changes to one that has both staged and unstaged changes, there was a noticeable lag of about 500ms on my machine. With the improvements in this PR we get this back down to about 20ms.
Diffstat (limited to 'pkg/gui/context/base_context.go')
-rw-r--r--pkg/gui/context/base_context.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/gui/context/base_context.go b/pkg/gui/context/base_context.go
index dfcced021..ca04a2fa9 100644
--- a/pkg/gui/context/base_context.go
+++ b/pkg/gui/context/base_context.go
@@ -23,7 +23,7 @@ type BaseContext struct {
focusable bool
transient bool
hasControlledBounds bool
- needsRerenderOnWidthChange bool
+ needsRerenderOnWidthChange types.NeedsRerenderOnWidthChangeLevel
needsRerenderOnHeightChange bool
highlightOnFocus bool
@@ -46,7 +46,7 @@ type NewBaseContextOpts struct {
Transient bool
HasUncontrolledBounds bool // negating for the sake of making false the default
HighlightOnFocus bool
- NeedsRerenderOnWidthChange bool
+ NeedsRerenderOnWidthChange types.NeedsRerenderOnWidthChangeLevel
NeedsRerenderOnHeightChange bool
OnGetOptionsMap func() map[string]string
@@ -201,7 +201,7 @@ func (self *BaseContext) HasControlledBounds() bool {
return self.hasControlledBounds
}
-func (self *BaseContext) NeedsRerenderOnWidthChange() bool {
+func (self *BaseContext) NeedsRerenderOnWidthChange() types.NeedsRerenderOnWidthChangeLevel {
return self.needsRerenderOnWidthChange
}