【发布时间】:2022-12-17 22:32:28
【问题描述】:
我刚开始创建一个 X11 应用程序。
我正在使用 XDrawString(...) 将文本渲染到显示器。
现在,如果我想添加时钟、计数器或不断变化的东西,我将如何“覆盖”已经呈现的文本?
目前的方式是再次渲染并留下旧内容。
我从 Java 知道“BufferedImages”,在将所有内容传输到实际屏幕之前,我会在其中渲染所有内容。这样,显示屏上的旧内容将被覆盖。
X11 中是否有类似的机制,或者我是否必须将整个屏幕涂成白色,然后在其上再次渲染所有内容?
我在带有 gcc 编译器的 X11 库中使用 C++。
谢谢!
【问题讨论】:
-
首先用背景颜色绘制一个矩形。双缓冲可能不是您想要用纯 X11 做的事情。我们有更高级别的库来处理这些事情。
-
嗯,它的性能是否足够?我可能需要每秒重新绘制几次字符串(准确地说,30 次)。