AnsweredAssumed Answered

Interview with nVidia person - turn off vsync

Question asked by Wayne Tiffany on Nov 15, 2010
Latest reply on Nov 18, 2010 by Anna Wood

This was in a newsletter I received today.  I know it's primarily about ACAD, but there is interesting stuff in there, as in why vsync should be turned off.




u p F r o n t . e Z i n e

t h e   b u s i n e s s   o f   c a d

Issue #668 |  November 16, 2010


In This Issue

1. How Nvidia Graphics Boards Work with AutoCAD


2. How Keyshot Integrates with Creo


3. And in Other News


How Nvidia Graphics Boards Work with AutoCAD
Part I: Interview with Sean Kilbride, technical marketing manager for workstation products at Nvidia

Q: When I downloaded the AutoCAD-specific driver from the Nvidia Web site, it was only 4MB; the latest approved driver from the Autodesk site is 104MB. Why the difference in sizes?


A: The driver from Autodesk is the complete driver; it is the general graphics driver for Windows as well as the AutoCAD portion. What you downloaded from our site is just the AutoCAD portion.


The driver available on the Autodesk website is the most current NVIDIA graphic driver certified by Autodesk through their hardware and software certification program. (These certified drivers are also available from NVIDIA via our certified driver download area.) While an uncertified driver can be used with AutoCAD, certified ones have been tested and validated. Because certification takes time, drivers on the NVIDIA Web site are often more recent; you have the option of using them instead.


Q: How does the AutoCAD portion work?

Internally, AutoCAD uses its HEIDI driver. All internal command are processed through HEIDI, and then hands off display tasks to the OpenGL or DirectX, depending on application and the operating system. The nVidia driver takes the HEIDI commands, and then translates them for the nVidia graphics board in a more efficient method than AutoCAD's own display driver. So the 4MB download is just an interpreter between AutoCAD and the graphics card.


(A bit of history. nVidia used to have a driver add-on for accelerated performance called "PowerDraft." The name confused customers, so more recently it was renamed "AutoCAD Performance Driver.")


The AutoCAD Performance Driver is an additional driver custom .hdi file that more efficiently processes 3D commands within AutoCAD. This allows the graphics card to provide maximum performance, because the graphics commands are optimized for the hardware.


Q: When you sent me the graphics board for review, it included a yellow slip of paper telling me to turn off the vertical sync. Why is vsync not turned off by default?


A: The way today's graphics board work is that they have a double buffer [memory], a front and a back buffer. The front buffer displays the pixels displayed by the monitor; while it is doing that, the graphics board is filling the back buffer with the pixels for the next frame displayed by the monitor, which are then pushed to the front buffer.

The problem is that buffer memory is now faster than monitors, especially LCD monitors, which tend to have a frame rate [display speed] of 60 frames per second. It is possible for front buffer to send one frame and a second frame at nearly the same time, resulting in "tearing," because the graphics board refreshes faster than the screen rate.

Vsync eliminates this display problem, but slows down the board to match the speed of the monitor, meaning a maximum speed of 60fps. To get an idea of the fastest speed possible, you turrn off vsync for benchmarking. Otherwise, all boards operate at the same speed!


I should add that while vsync will cause all boards to perform similarly, it is only a problem only with light loads. You may question, "Why would I buy a workstation graphics board if its going to perform the same with vsync on?" The reason is that performance advantages come into play with more complex loads. For example, a board like the Quadro 2000 might offer performance of 30-60fps, while a consumer oriented graphics board would be down in the 8-12fps range. By turning off vsync, we see the maximum potential the board is capable of.

Q: That explains why I was able to get AutoCAD's benchmark program to run at 700 frames per second on an empty drawing.In AutoCAD's Performance Tuner dialog box, users can select between drivers: AutoCAD or Nvidia . How does the user know which to select, especially after downloading an Nvidia driver from the Autodesk Web site?


A: It should automatically select the Nvidia driver. It is possible that you might see this problem when you have AutoCAD open when installing the Performance Driver for AutoCAD, as the files needing to be updated are in use by AutoCAD.

Q: Sometimes I see a black screen briefly. What is the cause of this?


A: This could be due to driver switching, especially on Windows 7, because the operating system handle the switching for the most part. Or could be the driver trying to communicate, and Vista resets things.


Both Windows 7 and Vista use the Aero desktop, which offers advanced desktop compositing techniques. Some applications are not, however, fully compatible with Aero. In which case, the operating system dynamically switches off desktop compositing for that application. Occasionally, timing events between the OS and the driver may be momentarily delayed, which can result in a brief black screen.

Q: How does the display driver know how to switch its settings between specific applications? What about if both SolidWorks and AutoCAD are running at the same time, and so they need different optimizations?


A: Nvidia boards can set driver settings on a per-window basis. That means it can have dIfferent settings for each window. It automatically detect most common workstation software settings, and change the settings optimally. Settings for one program do not affect the others. This is an nVidia function, not of Windows.

Q: In running AutoCAD's GsbXy benchmark program, I found that the timings for shaded modes and visual style modes were not much better for the new Quadro 2000 board over the old Quadro FX1700 one.


A: The problem is that GsbXy has not been updated in several years, and so does not take good advantage of 3D processing provided by the today's graphics boards. I recommend instead using CADalyst magazine's benchmark v4.


Q: AutoCAD performance on the Mac isn't great. Do you know why this might be?

A: We are still trying to understand where the bottlenecks are in the Mac platform. Nvidia working with both Autodesk and Apple to help alleviate the problem, to get fast graphics going.


Next week: Benchmarking the Quadro 2000 graphics board


[Disclosure: Nvidia provided me with a complimentary Quadro 2000 graphics board.]