Open Bug 882861 Opened 11 years ago Updated 2 years ago

Avoid erasing build footer before redrawing it (reduce flickering)

Categories

(Firefox Build System :: Mach Core, defect)

x86
All
defect

Tracking

(Not tracked)

People

(Reporter: gps, Unassigned)

References

Details

(Whiteboard: [mach])

Currently when the build footer is drawn, the last line in the terminal is erased, the new footer line is drawn, and stdout is flushed. This results in flickering on some terminals because the terminal draws the erase *and* the new footer. We should be more intelligent about how the footer is drawn. We should either find a way to prevent the terminal from redrawing during "repaint." Or, we could return to beginning of line, write the new footer, then print empty characters or erase until end of line.
Product: Core → Firefox Build System
Severity: normal → S3
Component: General → Mach Core
Depends on: 1744340

(Maybe this flickering is not only for Windows but also for macOS, given that this bug is quite old?)

OS: macOS → All

Per my observation on Windows:

  1. The terminal writes at the end of the line where the footer exists, then somehow flushed here
  2. Then immediately it goes up with a newline and the new footer is drawn.

The flickering happens even with MACH_NO_TERMINAL_FOOTER=1 at the last line, btw. It's supposed to be empty but each new log line shortly appears there and then moves up.

You need to log in before you can comment on or make changes to this bug.