When one talks about workstation performance related to product development, CAD/CAM/CAE usually comes to mind. It's fairly easy to link design time-savings to greater productivity within the product development cycle. Yet, professionals producing graphics for media and entertainment (M&E) applications such as gaming, special effects, and 3D animation face very similar challenges when seeking to optimize their workflows.
Just as one type of workstation configuration does not fill the needs for all CAD applications and workflows, neither does it for media and entertainment. Performance is based on a complex web of interactions associated with the application itself, the system configuration, the type of models being constructed, rendering complexities, the myriad paths data and storage take, and the destination for the end product.
What's good for Autodesk 3ds Max performance might not be as good for Maya. Likewise, what works for gaming might not work as well for special effects, 3D animation, or architectural simulations.
NO TWO MODELERS ARE THE SAME
Modeling in M&E applications is marked by a series of interactions as the artist makes changes to the model and those changes are visualized in the viewport. The modeling process might appear simpler than it is in CAD, but looks can be deceiving, according to Alex Shows, chair of the SPEC Workstation Performance Characterization (SPEC-wpc) subcommittee. "One of the differences in modeling demands between CAD and M&E is the diversity of geometry versus rendering complexity," says Shows. "CAD spans a wider gamut of geometric complexity, while M&E applications incorporate some of the most sophisticated interactions among an incredibly diverse palette of materials."
M&E models also have fewer demands placed on them within the design pipeline, according to Ross Cunniff, chair of the SPEC Graphics Performance Characterization (SPECgpc) subcommittee. "CAD modeling is typically driven by requirements of the back-end CAM pipeline, leading to design decisions within the application that can sometimes reduce graphics performance," says Cunniff. "In M&E applications, the image produced is the product.
Unlike CAD, most models for M&E need to be only marginally functional.
"M&E models typically just have to look good or be reasonably functional," says Trey Morton, chair of the SPEC Application Performance Characterization (SPECapc) subcommittee. "The time frame for M&E objects on the screen can be extremely short and the objects often do not require great detail. A landing gear for a spaceship in a video game, for example, just needs to disappear into the fuselage, where on an actual CAD model of a space shuttle it needs to properly fold up and be stowed."
Demanding apps such as Blender benefit from massive multi-threading.
Both CAD and M&E modeling are single--threaded operations that improve with CPU frequency. But as Shows points out, M&E material complexities place a much greater strain on the GPU and VRAM to deliver the frames per second needed for refreshing graphics on the screen when making changes to the model and interactively rotating, panning, and zooming around the scene.
Modeling functionality is not monolithic across different M&E packages, of course. Beyond the differences in end-product requirements - size of the models, complexity of textures and effects, resolution of the final images, and length of time displayed on the screen - there are inherent differences in how the applications themselves handle modeling. There are also the continuous changes within versions of the same applications as new technologies are implemented to speed operations and increase realism.
"Different implementations between different versions of an application can make a large difference in the hardware required to maximize performance," says Cunniff. "Older versions of [Autodesk's] Maya, for example, required significant CPU overhead to transfer work to the GPU. Newer versions can store work directly on the GPU, removing the bottleneck and making higher-end GPUs much more useful for high-performance modeling."
SAVING RENDERING TIME
For both interactive and non-interactive rendering in M&E applications, the focus shifts from single threads to multi-threading, where more cores working in parallel can significantly accelerate performance. This is especially the case when dealing with very large, realistic models produced in high-resolution for television and movie production, and architectural models incorporating real--world shadows, reflections, and textures.
"The critical components for increasing rendering performance in an M&E application are high core count processors, whether they are general-purpose CPUs or massively wide vector processing engines like the compute cores found in a GPU," says Shows. "Which of these is more important depends on your application and workflow."
Interactive rendering, when an artist makes a change to a scene and wants to quickly see the newly applied textures and lighting in the viewport, is heavily reliant on the massive computing cores found in the GPU.
The speed of both interactive and non-interactive rendering strike at the core of productivity: A fast GPU with enough memory will calculate changes on the fly, eliminating waiting time for the artist. A powerful GPU can also cut down overall render times for a scene and save a studio hours of time that can be reinvested into the artistic process or later production phases.
The animation process - creating or changing motion for characters and objects, then seeing the scene played back in real time - is heavily reliant on multi-core CPUs and GPUs. Maya is particularly optimized for animation operations, incorporating parallel processing and playback caching to streamline performance.
Parallel processing assigns a computational task to the best available core, while cached playback saves calculations to system or GPU memory so the application doesn't need to load the changes to every frame, enabling smooth playback. "Animators looking for the best performance need to invest in a high-core-count CPU and a high-end GPU with enough memory to cache full animation sequences," says Cunniff.
Heavy use of textures, like in this model, puts a strain on GPUs and VRAM.
WHAT'S THE FINAL PRODUCT?
As with CAD, the end result of the M&E production cycle has an impact on what configurations will provide the best ROI for hardware investments. Film and TV sequences are rendered at 4K or sometimes 8K resolution per frame at 24 or 60 frames per second. The large number of high-resolution, uncompressed frames places a premium on network or local storage to address the high data rate demands.
Game development has dual requirements: creating the game in applications such as Maya, 3ds Max, or Blender, then integrating the assets into game engines such as Unreal or Unity. The emphasis in this process is optimizing animation and effects such as lighting and shadows to create a seamless gaming experience. A modern GPU with multiple cores and a large VRAM buffer gives game developers the speed they need to create scenes and make changes interactively. A fast CPU then allows quick transfer of files into the game engine.
Other functionality within M&E applications can stress computing resources as well. Transcoding, the act of converting a media file or object from one format to another within an application, puts a tax on a workstation and can benefit from GPU acceleration, according to Cunniff.
MEASURE TO GET BETTER
Beyond ascertaining how different M&E applications interact with workstation components, professionals concerned about performance should be aware of their own usage patterns.
Ideally, workstation users would develop their own benchmarks specific to their workloads, the M&E applications they use, and the functionality they rely on the most. But, this is difficult, and the terrain is constantly shifting, as new versions of applications introduce new ways of maximizing efficiency.
The next best thing to homegrown performance measurement is to use standardized benchmarks that most closely align with your application and provide the granularity to measure the myriad paths that an application takes. In that vein, there are SPECapc benchmarks based on 3ds Max and Maya that run on top of those applications. If you want a smaller, self-contained benchmark, the current version of SPECworkstation includes workloads for 3ds Max, Maya, Blender, and open-source applications such as the Handbrake media encoder and the LuxCore physically-based renderer.
If you are interested primarily in graphics performance, the SPECviewperf benchmark (available in Windows and Linux versions) provides workloads (called viewsets) based on 3ds Max, Maya, and Showcase. All of these benchmarks are available to users for free download. Vendors of computer-related products and services that are not members of SPEC/GWPG are required to pay a licensing fee.
THE EVOLUTION NEVER QUITS
Users don't need the biggest or fastest of every component, but will benefit from upgrades that address their most problematic bottlenecks. Benchmarks that deliver alignment with an artist's day-to-day work can help organizations make the decisions that will guarantee the best price/performance ratio.
Whatever way you decide to benchmark, be aware that it is a commitment no different from dedicating yourself to continuous education about technologies that can contribute to the quality and speed of your work.
"Applications are continually evolving," says Cunniff. "A GPU that might be big enough for yesterday's application might well be a bottleneck once the next version of the application is released."
Bob Cramblitt is communications director for SPEC. He writes frequently about performance issues and digital design, engineering, and manufacturing technologies.