LLVMpipe: OpenGL With Gallium3D on Your CPU
On average the classic R300 driver was running about 3.76x faster than the LLVMpipe driver and the Gallium3D R300 driver was 7.1x faster than LLVMpipe. However, even so, OpenArena was pretty much playable at 800 x 600 with an average frame-rate of 35 FPS. By the time the resolution was at 1920 x 1080, however, LLVMpipe was pushing out less than ten frames per second. LLVMpipe is not a solution for gaming, but it is still a much better software rasterizer than Mesa's option.
When looking at the CPU usage, LLVMpipe obviously chewed through the Intel Core i7 920 as much as it could, but the overall CPU usage was not maxed. In fact, the load never hit 100% usage across the four physical cores and then four additional HT cores. The peak CPU usage was 93% while the average was at a high 72.9%. In comparison, while running OpenArena with a high-end processor its average CPU usage was just 3.2%. Perhaps most interesting from these results is the CPU usage when using the Gallium3D R300 driver, which had an average CPU usage of 10.0%, which is more than three times higher than using the classic Mesa R300 driver.
While LLVMpipe leads to more reliable and faster software rendering than Mesa's traditional software rasterizer thanks to pinning it against the Low-Level Virtual Machine, LLVMpipe is still not close to matching the performance of a hardware-specific driver even with a high-end Intel Core i7 processor. The performance of LLVMpipe though should most certainly improve once the remaining bits are filled in and as LLVM continues to independently mature. Down the road as the hardware improves and LLVMpipe along with Gallium3D and its state trackers mature, we certainly hope that LLVMpipe will become a suitable fallback driver for situations where no graphics hardware driver is available or those seeking software/CPU rendering for other purposes. Even so, right now LLVMpipe is already a superior choice to Mesa's software rasterizer. Not only is this software driver great for OpenGL, but LLVMpipe can also take other handle other state trackers per Gallium3D's architecture, which would allow for CPU-based rendering in other areas of state tracker coverage too. LLVM speeding up Gallium3D's software rasterizer also gives hope that some of the other areas that developers have been looking into for adapting LLVM will also come to fruition and be of great benefit.
Latest Articles & Reviews
Latest Linux News
Most Viewed News This Week