|
From: Manu S. <ms...@xr...> - 2003-12-02 16:29:49
|
David Longley wrote: > I'm not quite sure how GL_COMPILE_AND_EXECUTE works such > that it slows down the render process--perhaps it compiles as it is > executing. Whoever made the statement that GL_COMPILE_AND_EXECUTE slows down the render process probably meant to say "It slows down the first execution of the call, thus if you are constantly compiling/executing in the same thread... application performance will suffer." This is because (in bad driver implementations) it doubles the work the graphics card has to do: 1. All of the geometry calculations 2. Writes across the AGP bus and display list management (costly graphics card state changes) Whats worse is that the two steps above have to be in sync with each other for large lists... which limits throughput to the speed at which the AGP bus can keep up... which is much slower than what the graphics card is capable of. The NVidia drivers have performance problems with GL_COMPILE_AND_EXECUTE, as do most drivers. The only guaranteed way to control performance is to compile and execute seperately (and as Dave said, that is what we do in glam, glamrock and CSD). So if you see GL_COMPILE_AND_EXECUTE anywhere in glam code, it is wrong and needs to be changed. I couldn't find any instances of GL_COMPILE_AND_EXECUTE in glam or glamrock? -- manu -- Manu Sporny Director of Product Development xRhino, Inc. 1700 Kraft Drive, Suite 2408 Blacksburg, Virginia, USA 24060 Telephone: (540) 961-4469 Email : ms...@xr... Web : http://www.xrhino.com/ |