Hello, My name is Tsvetan Tsvetanov, Principal Software Engineer with AEC Solutions User Experience Team at Autodesk. Until recently I was part of the Graphics Group working on Revit and I would like to shed some light on work that was done to improve graphics performance in the 2010 release.
As in any software development there are requests that lead to creation of new functionality and others that are are considered "renovation." In this release we implemented a few changes that may not be immediately visible. These changes are pretty big and will open doors for possible feature enhancements for our graphics output. Our graphics engine is tightly coupled with our geometry engine. That way, we are able to allow our geometry data to define the behavior or our graphics visualization, for example the color change when you hover or select an element. This makes the graphics engine very flexible and allows us to define states and conditions for when and how something would be processed by the pipeline (the algorithms that determine how things will appear on the screen.) But in the same time it is limited by the fact that such flexibility can comes with a performance cost.
So what did we do this release ?
One of the biggest, yet mostly invisible changes this release was the shift to a new graphics engine that allowed us to support DirectX together with OpenGL. Along with that, we have started to cache our graphics data so we can send it directly to the graphics hardware without a need to pre-calculate it on every single view update. This should lead to better performance depending on the hardware in use. This performance gain might not be immediately noticeable. For example, when the cache is originally created or when there is not enough memory and we start to clean it, there is an initial performance hit. However, subsequent displays of a cached view should be noticeably faster (once again, depending on hardware.)
This development effort was done to create a framework and mechanisms that will allow us to work on future user-requested enhancements for our graphics output and functionality. These improvements are already noticeable in the current release and should improve the speed with which you navigate views in Revit.
Has this been consistent with your experience with the release to date?