Abstract:Xorg server is running in single-threaded mode on frame buffer device, which is hard to obtain good performance on multi-core CPU. For frame buffer device on multi-core CPU, a task queue is designed with mutual-inclusion, screen is split into several sub-screens, and each sub-screen is attached with a thread to draw rectangles within that sub-screen. A private task queue for each thread is used to hold their own tasks to draw rectangles, and load balance is kept between the main thread and each sub-thread. Results of x11perf show that rectangles filling operation could reach a speed-up ratio of 2.06 on a 4-core DELL desktop computer.