I am running a 3d realtime application (C++) on Virtual Machine (VMWare WinXP SP2). I have 3d acceleration always disabled in VMWare. I have tested it running with both the normal windows GDI OpenGL 1.1 and Mesa 3D (7.8.2). When running on Mesa I have full OpenGL functionality (VertexBufferObjects etc.) but it is much slower than the GDI implementation. I know Mesa is a software rastizer but I guess so is the GDI implementation. So why is Mesa slower? Or should Mesa be faster and its actually a problem in my application?
Asked
Active
Viewed 703 times
1 Answers
1
Mesa supports a fully programmable pipeline and hence the software rasterizer, which at some points uses Just-In-Time compilation and hence is not as aggressively optimized as the Win32 GDI one. This is a tradeoff between features and performance.

datenwolf
- 159,371
- 13
- 185
- 298
-
Thx datenwolf. Is the Gallium llvmpipe an alternative to make it faster? Mesa website says it is the fastest rasterizer for mesa. I have just compiled Mesa 7.8.2 in Visual Studio so far and did not pay attention to Gallium. – Michbeckable May 08 '13 at 11:11
-
@MichiMichbeck: Gallium is a graphics architecture available only in Linux (AFAIK). I don't know if it's possible to compile that for Windows. You'll also need the LLVM infrastructure installed on your system to use it (or somehow bundle it with Mesa); so far I never built Mesa with LLVM being built into it, but let it always use the LLVM installed on my system anyway (for clang and other compilers using it as backend). – datenwolf May 08 '13 at 11:17
-
Ok, thx. I just figured out I used debug built of Mesa opengl32.dll - release build is faster now :) – Michbeckable May 08 '13 at 12:08
-
@MichiMichbeck: I don't know how easy it is to build llvmpipe on windows, but llvmpipe is able to use all of the available cores, making it much faster than the "old" sw rasterizer on modern multi-core CPUs. – derhass May 11 '13 at 23:00