[ 
https://issues.apache.org/jira/browse/CAMEL-24007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adriano Machado reassigned CAMEL-24007:
---------------------------------------

    Assignee: Adriano Machado

> camel-jbang TUI: skip redundant full-screen re-render on idle ticks
> -------------------------------------------------------------------
>
>                 Key: CAMEL-24007
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24007
>             Project: Camel
>          Issue Type: Improvement
>            Reporter: Adriano Machado
>            Assignee: Adriano Machado
>            Priority: Major
>
> The Camel TUI \({{camel\-jbang\-plugin\-tui}}\) rebuilds and diffs the entire 
> widget tree on every tick event. At the framework's default tick rate of 40ms 
> this is \~25 redraws per second, even when the UI is idle and nothing has 
> changed.
> Root cause: {{CamelMonitor.handleTickEvent}} unconditionally returns 
> {{true}}, and the underlying TamboUI {{TuiRunner}} redraws whenever the event 
> handler returns {{true}}. Application data only changes every 
> {{refreshInterval}} \(default 500ms\), so roughly 24 of every 25 renders 
> produce identical frames. There is no visual flicker \(the framework 
> double\-buffers and diffs\), but it wastes CPU on every idle frame.
> Proposed fix: return {{true}} from the tick handler only when the periodic 
> data refresh fired or an animation is in flight \(open shell/AI panel, 
> sliding pinned\-log panel, canvas animation, typing/fading caption, header 
> notification wave, or the recorded\-keystroke highlight\). All other 
> time\-based UI elements are healed by the periodic data\-refresh redraw 
> within 500ms.
> _Reported by Claude Code on behalf of ammachado._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to