浏览代码

fix: change crossterm poll timeout to 10ms from 1s (#983)

Problem: Key events were delayed signifantly in TUI widgets.
Solution: Decrease crossterm event poll timeout from 1000ms to 10ms.

Fixes #978
Will Hopkins 2 年之前
父节点
当前提交
8af3522a2e
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      packages/rink/src/lib.rs

+ 2 - 1
packages/rink/src/lib.rs

@@ -98,7 +98,8 @@ pub fn render<R: Driver>(
     let event_tx_clone = event_tx.clone();
     let event_tx_clone = event_tx.clone();
     if !cfg.headless {
     if !cfg.headless {
         std::thread::spawn(move || {
         std::thread::spawn(move || {
-            let tick_rate = Duration::from_millis(1000);
+            // Timeout after 10ms when waiting for events
+            let tick_rate = Duration::from_millis(10);
             loop {
             loop {
                 if crossterm::event::poll(tick_rate).unwrap() {
                 if crossterm::event::poll(tick_rate).unwrap() {
                     let evt = crossterm::event::read().unwrap();
                     let evt = crossterm::event::read().unwrap();