原文:http://blogs.unity3d.com/2016/03/15/enhanced-visuals-better-performance-and-more-the-unity-5-4-public-beta-is-ready/html
有三個點我以爲頗有意思:canvas
1.Better multithreaded renderingapp
The Unity 5.4 beta release takes our multithreaded rendering support to the next level. Depending on your project and what platform you’re building to, it can significantly improve your frame rate.ide
Building on the work we did to take particles, sprites, flares, halos, lines and trails off the main thread in Unity 5.3, we’ve introduced parallel command list generation. Instead of building one graphics command list on the same CPU core scripts, physics and other systems are using, it moves the work to multiple CPU cores, removing some potential bottlenecks and enabling many complex scenes to run faster.ui
5.4將粒子、精靈、光暈、lineRender、拖尾都剝離出主線程,引入了並行的支持。this
Fewer draw calls means better performance, and, by gradually rolling out GPU instancing support, we’re allowing you to render vast numbers of identical geometries that share the same materials with very few draw calls. Initially GPU instancing support is available for Windows PC builds with DX11 and Shader Model 4.0 and OS X with OpenGL 4.1 and up. More platforms are in the pipeline, so stay tuned.spa
The scene contains 3 types of rock mesh. Each rock is tinted with a different gray scale color using a material property block. The first scene uses an instanced version of the standard shader, the second scene uses the built-in standard shader. The data is captured with 5.4 beta 8 on Windows / D3D11, with an Intel Core i7-4980HQ@2.8GHz CPU & an nVidia GeForce GT 750M GPU..net
使用GPU實例化來減小drawCall線程
相關資料:http://blog.csdn.net/codeboycjy/article/details/5047840debug
If you’re a graphics programmer building your own shaders, 2D Texture Arrays can help you when you’re optimizing large scenes and implementing rendering systems generally. They work by allowing the GPU to treat 2D textures that share the same size and format as a single object.
We’ve also improved a series of low-level graphics features in this release. Compute shaders can now be chained together via DispatchIndirect, compute buffer counters have been improved, and debug information can be used for compute shader debugging. Fast texture copies can be done with a new CopyTexture function, and proper support for uniform arrays as shader parameters has been added. On Metal, OpenGL and D3D9 platforms, we’ve implemented Alpha-to-coverage, and on iOS we now support multi-threaded rendering when using Metal graphics. Finally, image effects can be applied on a scene view camera with a newImageEffectAllowedInSceneView attribute.
Collectively, we think all of these small improvements will be very useful for improving your rendering pipelines.
在Metal,OpenGL ,D3D9 實現來Alpha-to-coverage,相關資料:
http://www.cnblogs.com/wonderKK/p/4850170.html
很好奇如何使用這個特性,查閱了文檔發現:
http://docs.unity3d.com/540/Documentation/Manual/SL-Blend.html
ShaderLab中增長了AlphaToMask On,能夠開啓這個功能,這個命令是5.3加入的