Symptoms & Diagnosis
Git Bash users often encounter frustrating performance issues where the screen lags, flickers, or fails to refresh promptly after executing commands. This “screen flickering” typically manifests as a delay between typing and the character appearing, or a strobe-like effect when scrolling through long logs.
The primary causes usually involve conflicts between the Mintty terminal emulator and Windows hardware acceleration. Other culprits include outdated graphics drivers, bloated PATH environment variables, or an outdated version of Git for Windows that lacks modern rendering optimizations.
| Symptom | Probable Cause | Diagnostic Step |
|---|---|---|
| Slow text rendering | GPU Acceleration Mismatch | Check Mintty Graphic settings |
| Cursor ghosting | Wrong Rendering Engine | Test with/without Direct2D |
| Delayed command output | Bloated PATH variable | Run ‘time git status’ |

Troubleshooting Guide
To resolve Git Bash slow screen refresh, follow these steps in order. Most rendering issues are tied to how the terminal interacts with the Windows desktop composition engine.
1. Switch to Direct2D Rendering
Mintty, the default terminal for Git Bash, supports multiple rendering engines. Direct2D is often the most stable on modern Windows versions.
Right-click the Git Bash title bar and select Options. Navigate to Window > Graphics. Set the “Rendering” dropdown to Direct2D and “Smoothing” to Full. Click Apply.
2. Update Git for Windows
Older versions of Git for Windows use legacy terminal components that struggle with high-resolution displays. Ensure you are running the latest version by executing:
git update-git-for-windows
3. Optimize Environment Variables
If Git Bash feels sluggish during startup or command execution, your Windows PATH might be too long. Git Bash searches through every directory in your PATH for binaries, which can cause frame drops during UI refreshes.
Open “Edit the system environment variables” in Windows and remove any unnecessary or non-existent paths to reduce lookup time.
4. Disable Hardware Acceleration in External Apps
Sometimes, background apps like Discord or Chrome interfere with Git Bash’s rendering. Try closing these apps or disabling their “Hardware Acceleration” settings to see if the flickering persists.
Prevention
Preventing future screen flickering requires maintaining a clean development environment. Avoid installing excessive shell themes or complex prompt customizations like “Oh My Bash” if you are on low-spec hardware, as these increase the rendering load per line.
Periodically clear your terminal scrollback buffer. A massive buffer history can force Git Bash to use more memory, leading to slower refresh rates during intensive operations. You can limit this in Options > Window > Scrollback lines.
Finally, always keep your graphics drivers updated. Since Mintty relies on system-level APIs for drawing text, GPU driver stability directly impacts your terminal’s visual performance.