嵌入式容器的渲染性能

时间:2012-04-20 09:42:49

标签: c++ qt rendering x11 xlib

我有一个应用程序,它使用SDL在小部件中显示网络摄像头输出。我得到的输出量为每秒20-25帧。

然后将此输出嵌入到在另一个进程中创建的QX11EmbedWidget容器中。 (或者在使用XLib的另一个实现中,我将SDL窗口的输出重新设置为本机X11窗口。)

在这种情况下我获得的输出大约是每秒2-5帧。

平台:I.MX-53上的Ubuntu

Q1。有些人可以解释这两种情况的性能差异。

Q2。当我们将应用程序的输出嵌入另一个窗口时,渲染是否发生了两次?一次,通过嵌入的应用程序,然后是嵌入此窗口的应用程序?

1 个答案:

答案 0 :(得分:0)

  

Q1。有些人可以解释这两种情况的性能差异。

不,不是真的。也许嵌入SDL窗口不起作用。或者您平台上的X服务器中的错误。它可以是任何东西。

  

Q2。当我们将应用程序的输出嵌入另一个窗口时,渲染是否发生了两次?一次,通过嵌入的应用程序,然后是嵌入此窗口的应用程序?

不,渲染仅在嵌入的窗口中完成。

嵌入窗口只会改变父窗口。

  

然后将此输出嵌入到在另一个进程中创建的QX11EmbedWidget容器中。

您应该使用QX11EmbedContainer作为容器,而不是QX11EmbedWidget。