|
Max/MSP 6
http://cycling74.com/2011/07/12/announcing-max-6/
| quote: | Performance
The area of performance is where Max 6 will be truly exciting for a lot of you. The big news is a completely new patching domain, which we refer to as code generation. Code generation technology will be available as an inexpensive add-on to Max 6. It focuses on areas where traditional patching has not been able to deliver the combination of performance and programmability that we wanted, namely DSP and GPU programming. What do we mean by “code generation”? Essentially, we translate the patch you make into text-based source code, and compile it on the spot. With code generation, we can optimize the entire patch, something that’s impossible with existing Max-like approaches.
In the DSP realm, our new gen~ object is a new domain of low-level signal processing operators that let you build recursive filters, delays, spectral processors, and sound generators, all using 64-bit floating-point internal precision. Not only do these things sound great, but the performance gains over equivalent Max patches are simply stunning. Where you could actually implement the same algorithm with MSP objects, a gen~ version will be up to 15 times faster. And in many cases, there is simply no way to implement the same kinds of DSP algorithms with MSP objects, you’d have to write C code. Not only is gen~ cross-platform, unlike C code, but in our tests, gen~ operators are nearly as fast as equivalent MSP objects written in C.
The code generation approach is equally suited to GPU programming for Jitter. For several years, we’ve offered the ability to write your own shader programs in Jitter for high-performance pixel processing, but text-based shader languages are not easy to learn and never felt completely integrated within the Max environment. Now you’ll be able to create high-performance image processing algorithms graphically, and our code generation technology will write the shader program for you. But the power of code generation extends beyond processing images — you can also use it to generate materials for shading interactive 3-D objects. In this application, the code generation technology is automatic — you just specify the parameters of the materials and we generate the shader program.
There’s much more to say about code generation, but at this point all I want to say is this: stay tuned — we’ll be showing you much more in the coming weeks.
Code generation hasn’t been our only performance focus. Another major area has been Javascript, where we’ve integrated the latest Mozilla runtime engine for significant performance gains. We’ve also exposed an efficient new 2D graphics API in Javascript that can be used to port existing HTML5 Canvas code to Max. We now run the audio of every top-level patcher in its own thread for effortless multicore processing. Performance improvements have taken place in many other areas as well. |
want
___________________
|