【发布时间】:2022-09-29 22:27:06
【问题描述】:
在 Windows 的 C# 控制台应用程序中,我正在使用 Windows 控制台 API WriteConsoleOutput(通过 PInvoke)在单个操作中写入整个缓冲区以防止闪烁。这工作正常。
Microsoft recommends 使用虚终端序列与控制台交互。这些序列很棒,因为它们提供了更好的输出,例如颜色等。
但是,据我了解,WriteConsoleOutput 不能与转义序列一起使用(请参阅CHAR_INFO)。
我的问题是,
如何使用虚拟终端序列写入控制台无闪烁?
我想用不同的字符和颜色更新屏幕的不同部分。通过链接很多 Console.Write() 和 Console.SetCursorPosition 来做到这一点将要导致大量闪烁并降低帧率。
写入整个缓冲区的虚拟终端等效于什么?
标签: terminal console escaping buffer