X11 Xvfb中的内存分配

X11 Xvfb中的内存分配,x11,X11,在我的ubuntu环境中设置Xvfb时,我有以下博客: 所以我这样做了: Xvfb:1-屏幕0 800x600x24& 我的问题是Xvfb是否只在初始化期间分配内存?i、 e.是否足以显示800x600x24? 因此,当我有越来越多的程序(不同的程序或相同的程序多次)显示到Xvfb时,它不会分配更多的内存吗 谢谢。不,与所有X服务器一样,Xvfb将根据需要分配内存。屏幕帧缓冲区的初始分配不应增加,除非您要求它将屏幕大小从800x600增加,但X服务器仍需要为每个连接的客户端以及客户端执行的各种

在我的ubuntu环境中设置Xvfb时,我有以下博客:

所以我这样做了: Xvfb:1-屏幕0 800x600x24&

我的问题是Xvfb是否只在初始化期间分配内存?i、 e.是否足以显示800x600x24? 因此,当我有越来越多的程序(不同的程序或相同的程序多次)显示到Xvfb时,它不会分配更多的内存吗


谢谢。

不,与所有X服务器一样,Xvfb将根据需要分配内存。屏幕帧缓冲区的初始分配不应增加,除非您要求它将屏幕大小从800x600增加,但X服务器仍需要为每个连接的客户端以及客户端执行的各种操作分配内存(分配PIXMAP、创建图形上下文(GCs)、加载字体等).

使用-noreset选项解决内存使用问题:


Xvfb:1-屏幕0 800x600x24-ac+扩展RANDR+渲染-noreset

谢谢。如果我的gtk应用程序使用cairo绘制图形,使用FreeType绘制字体,使用gtk启动窗口/对话框,那么我的应用程序或Xvfb分配的内存是否会分配给您的应用程序和Xvfb中的窗口?Xft发送到服务器进行渲染的字体符号,以及cairo正在绘制的像素贴图。每个数据库的内存量不同,因为它们必须跟踪数据的不同部分。