当我在X11上绘制窗口时,我能立即看到它吗?

时间:2016-06-08 14:33:49

标签: linux x11 xlib

我正在移植Windows应用程序并且一些概念尚不清楚。例如,当我在窗口输出一些文本时,我使用以下伪代码:

(create a window)
...
hdc=GetDC(the window)
TexOut("Hello world")
ReleaceDC(my hdc etc)
...
while (1)
   some code to handle stuff

在ReleaseDC点,我的文字显示在屏幕上。 在linux上使用X11 / Xlib时,在处理事件循环之前我什么也得不到。例如:

(create a window)
...
TexOut("Hello world")
...
while (1)
   some code to handle stuff
   if (expose etc)
      XDrawStrin("Hi there")
..,

在上面的示例中,仅显示“Hi there”。 如何显示“Hello world”?

1 个答案:

答案 0 :(得分:3)

如评论中所述,XFlush是正确的答案。如果您想在进行更有趣的任务之前确定已经进行了屏幕更新,XSync可能会有所改进。

进一步阅读: