Cycles X

Today it’s been exactly 10 years since Cycles was announced. In the past decade Cycles has developed into a full-fledged production renderer, used by many artists and studios. We learned a lot in those 10 years, things that worked well, but also things that didn’t work well, or became outdated as rendering algorithms and hardware evolved.

We’re keen to make bigger improvements to core Cycles rendering. However some decisions made in the past are holding back performance and making it difficult to maintain the code. To address that, Sergey and I started a research project named Cycles X, with the aim is to refresh the architecture and prepare it for the next 10 years. Rather than finding quick fixes or optimizations that solve only part of the problem, we’re rethinking the architecture as a whole.

The Project

Broadly speaking, the goal of the project is to:

  • Improve the architecture for future development
  • Improve usability of viewport and batch rendering
  • Improve performance on modern CPUs and GPUs
  • Introduce more advanced rendering algorithms

Our first target was to validate the new architecture. To that end, we’ve implemented a prototype of a new GPU kernel, and new scheduling algorithms for viewport and batch renders. There’s just enough functionality to render some of our benchmark scenes now.

Current Cycles X kernel graph

Today we’re sharing some initial performance results, and publishing the code to collaborate with Cycles contributors. A technical presentation for developers on the new architecture is available, and the code can be found in the cycles-x branch on git.blender.org.

There is much be done. We expect it will take at least 6 months until this work is part of an official Blender release.

Initial Results

First, some results from GPU rendering with well-known benchmark scenes. Scenes have been modified to remove features like volume rendering, which are not implemented yet.

Be aware that the numbers will change as we keep working on the new architecture. OptiX support was added just a few days ago by Patrick Mours.

The most significant improvements are in interior scenes with many light bounces and shaders, where the new kernels can achieve higher occupancy and coherence.

CPU rendering performance is approximately the same as before at this point, but the new architecture opens up new possibilities there as well.

Secondly, we’ve been working to improve viewport rendering. Faster rendering kernels help, but we also found that improving the scheduling, timing, and display mechanisms can make the viewport feel more interactive. New viewport support for adaptive sampling and batching samples make it so the image cleans up faster once the first few samples are done.

Looking Forward

In the coming months we will try more optimization ideas, and restore missing functionality. When functionality is missing, it’s usually because we want to take a different approach in the new architecture. Some examples:

  • Volume rendering: we plan to implement ray-marching and light sampling with more modern algorithms
  • Shadow catchers: we’ll try a different algorithm that can take into account indirect light
  • Multi-device rendering: we’ll experiment with more fine-grained load balancing without tiles

Beyond this, the new architecture should let us more easily fit in rendering algorithms like path guiding, which we will experiment with and research how they can be made GPU friendly.

Deprecation

As part of the new architecture, we are removing some functionality. Most notably:

  • OpenCL rendering kernels. The combination of the limited Cycles split kernel implementation, driver bugs, and stalled OpenCL standard has made maintenance too difficult. We can only make the kinds of bigger changes we are working on now by starting from a clean slate.
    We are working with AMD and Intel to get the new kernels working on their GPUs, possibly using different APIs (such as CYCL, HIP, Metal, …). This will not necessarily be ready for the first release, the implementation needs to reach a higher quality bar than what is there now. Long term, supporting all major GPU hardware vendors remains an important goal, and we think that with this new architecture we’ll be able to better performance and something stability. It is just a matter of time until more GPUs are supported in Cycles X again.
  • Branched path tracing. We are working to improve sampling algorithms to make this obsolete, and more automatically assign samples where needed. Improved adaptive sampling and light importance sampling are key here.
  • NLM denoiser. AI denoising algorithms and in particular OpenImageDenoise generally yield better results, and we will optimize the architecture and workflow for them.

These features will remain available and supported in 2.83 and 2.93 LTS releases.

Support the Future of Blender

Donate and support Blender Foundation to work on core Blender development.

157 comments
  1. I’m kinda glad that cycle in general getting better, but disappointed that Blender Dev properties Nvidia, as supporting open source kernel is more important, having two Nvidia Devs isn’t excuse to properties them, and the roadmap is not that clear on what you are working with Intel nor AMD, and secretly Apple, no updates or good news for compatibility?

  2. blender our life, blender our 3d future. we will also get Eevee x

  3. I don’t know if it is already planned but for Blender I had thought about important implementations including:
    Function that allows you to use interfaces that can perhaps be connected via USB that allow the automatic acquisition of the movements of our body to create realistic animations of any subject created in 3D with Blender or other programs
    In addition to this, a function that allows us to automatically convert into 3D (with realistic texture detail included) any subject or object we have on any type of photograph

    Fabio P. (Carpi Modena ITALY)

  4. I still have this other question to ask :
    Why is it necessary to switch the rendering engine from Blender Render to Cycles Render in order to activate the shaders via the nodes? Why is it not possible to do it directly with the graphic engine called Blender Render ?
    I should have asked all the questions in an understandable way

  5. To build the scene with the Blender you also need to have other types of knowledge.
    In different lighting conditions of the scene, how does our vision distinguish the simple color from the one we assign as “emitter”? Is it like the other types of shaders?
    I apologize for the simplicity of the questions …. having recently started using the Blender and having the Intel HD 2000 card, I do not have the possibility of graphics capabilities that allow me to understand all the differences inherent in the visual qualities directly referable to cards newly produced video

  6. I tries blender 3.0 alpha and for some reason the principled volume gives a black box even when the density is turned low. My guess is that it is not rendering the volume at all. Is this an issue with cycles x or does it have to do with my render settings ?

  7. I have often heard about driver optimization and have honestly wondered what it is for when we really know that video card hardware is what makes us achieve the most.

    What visible improvements actually have changes and updates to video card drivers ? .. obviously speaking of optimization in programming. Why (I wonder) do programmers (EXPERTS?) miss details that they always correct later?
    Thanks

  8. I was wondering how it is possible that in the Viewport Shading by selecting Rendered the Blender Render and the Cycles Render display two very different scenes from each other, i.e. perceptibly to the view of different visual impact
    I actually use version 2.79c
    I was also wondering why some create objects not using polygons or primitives but trying with shaders as I saw in some videos on Youtube

  9. How am I with Blender? With the versions I am learning …. I can say that given the free and complete it is …. certainly better than the non-free programs. For the rest, given the Intel HD 2000 card on the notebook, I agree with the user who has written the message before this.The problem is (at least in the versions of the Blender that I can use with the Intel HD 2000) is that it is complex because many functions do not have well-organized interfaces and often do not remember how to do operations already carried out in It reminds me of complex programming via D.o.s. in short, the command line suitable for programmers
    Not that this worries me, however, it is not easy if the project is to speed up all the program’s operations, therefore the interface should be better organized in order to be more user friendly (always referring to the versions that I can currently use with the Intel HD graphics card. 2000)

    Fabio P.(Carpi Modena ITALY)

  10. So here we go again, no support for AMD GPUs. I wonder why AMD is keeping its funding for blender? What’s the purpose of AMD GPUs? Part of this is also AMD’s own fault. They are stubborn and keep pushing useless Radeon Pro Render which on one uses. So my next GPU is going to be another NVIDIA GPU with low VRAM cause I can’t afford RTX 3090 in this GPU price hike.

  11. I have another question which is this:
    Will it be possible to implement in the program (if possible also with versions compatible with Intel HD 2000) a section entirely dedicated to interactivity with lever gamepads? That is, to make sure that once the models have been created (even rendered ones) to be able to test them with any type of gamepad as if we were using a video game on any type of operating system or gaming platform?
    Fabio P. (Carpi Modena ITALY)

  12. I’m using blender or rather i’m learning to use it with a notebook that has an Intel HD 2000 video card? Open GL 3.3 it will be possible to have a version of Blender 3.0 or later which is fully supported by the Intel HD 2000 which otherwise solves the lack of the Open GL 3.3 of my card but which manages to start completely and work well and perform all the functions with all render engines?Currently the versions of Blender I tested are those from 2.76 to 2.79b
    Why does the Blender Render not have the possibility to create some nodes and you have to do some of the operations by moving to Cycles Render? What justifies the presence of a graphics engine rather than another apart from the “programming rights” of those of “other applications” ? Thanks to all the experience put in place by all programmers? I hope there will be current and future versions with graphics libraries to create the vegetation fully supported by the INTEL HD 2000 (i.e. able to start fully exceeding the limit of Open GL 3.3)

  13. for people who cant find the download link thank me later :)

    https://builder.blender.org/download/experimental/

  14. Can Cycles X also make built-in network rendering support for animation where each frame is done on a separate computer (device)? CrowdRender is not able to do this as they promised months ago, probably stringing people along for the cash… ;(

  15. Nvidia™ and Optix™! Thanks for your Nvidia™ and Optix™ Renderer! It was really important for me to get yet another path to be able to render using Nvidia™ and Optix™ accelerated rendering! There already isn’t 100 other renderers that flat out do not support anything but Nvidia™ and Optix™, so it’s great that you decided to go forward with making a release that is another dedicated Nvidia™ Renderer! I can only hope you soon depracate AMD(ew) hardware in Eevee too making it RTX™ only so we can really experience Blender the way it was meant to be used. Free, and Open Source, ran fully of proprietary Nvidia™ software.

    Guess Linus was right.

  16. es genial pero estaría mas genial si fusionan “Cycles” y “EEVEE”, creen un motor de trazado de rayos pero en tiempo real ósea poder de Cycles y velocidad de EEVEE o al menos añadan al eevee el SSGI que no puedo instalarlo, me gustaría que venga incluido en el lugar de “capturar luz indirecta”, bueno igual si mejora la velocidad de grabación en cycles esta bien también

  17. > Multi-device rendering: we’ll experiment with more fine-grained load balancing without tiles

    What does it exactly mean? As far as I know, currently Blender’s multi-device rendering means one frame per device. That is, the master assigns each frame (of an animation) to each device, and multiple devices cannot render a single frame together.

    And even on the same computer, rendering a frame with both CPU and GPU did not seem to be able to utilise their full powers. That is, if the CPU alone takes 2 minute to render a frame, and the GPU takes 1 minute to render the same frame, ideally, it would take 40 seconds to render the frame using both CPU and GPU, but the actual result was no where near that. I do not have multiple GPU’s, but I have heard from a YouTube tutorial that having two of the same GPU does not give 2x rendering performance.

    Does this mean that with Cycle X, all the problems above will be gone?

  18. One other bit of good news (beyond Cycles X massive speed improvements) is the drop in power consumption for Cycles X vs Cycles. I’ve seen about a 150Watt reduction in power draw when rendering with Cycles X vs Cycles (2.93). I’m sure that’s hardware dependent to a large extent, but it represents about a 30% reduction on my system – so faster AND less power use – win-win!

  19. Hi! is Cycles X Ready for production? Can i render some animations without expecting glitches or something like that? Thanks

    • This is the big one, the lack of in-render camera effects is a real drag on Cycles and holds it back compared to other engines, even with apparent CyclesX improvements.

  20. I really hope that real-time post-processing effects like bloom or even lens flares could be included at some point into Cycles-X.
    It’s something that Octane has and it’s sadly been missing from Cycles from day 1.
    Compositor is pretty limited and it’s not real time. On top of that a lot of the effects like glare are resolution dependent and are almost useless on anything higher than 1080p (spread size is limited).
    Here’s how it works in Octane: https://www.youtube.com/watch?v=LPwzNFV3DPg

  21. I am using CyclesX to render microdisplacement procedural shaders. I notices there is a more than 10x slowdown when adding Bump vector to the shader.

  22. But error vcruntime140.dll

  23. What I do to work my rx 570 for mac in blender

  24. We (I guess millions of users) only have CPU with default gpu, no fancy stuff.

  25. Maybe some kind of lightcache for speed up GI and interior renderings?

  26. Please do not get rid of Branched Path Tracing. Automation is all fine and good but we still need to maintain a way to control things manually. I have nothing against Adaptive Sampling and LIS but I don’t completely trust automation because if there are certain scenes where it fails to do anything meaningful (and there will certainly be such scenes) we need a way to manually adjust subsamples. Manual control can never become obsolete.

  27. On a Mac with a AMD Radeon it’s slower by 10%… so, no difference basically.

    I know, “you should not render on a Mac” but nothing i can do about that.

  28. Tested it using Nvidia GT-710: Cycles X is about 10-20% slower (no joke)

  29. Great! Will Cycles X also support distributed GPU rendering across the network? I’m missing this feature since the excellent Blender 2.79 pigeon build.

  30. Need MacOS Metal support!

  31. everything is fine, but when we type ctr+shift+T in the material work it gives options to select all file and import the textures in the previous versions, but in this new cycles x update that shortcut is not working, so i request blender team to add that.

  32. AMD needs to stop giving money to this ungrateful project.

    • nv requires cuda optix, amd requires vulkan, intel requires oenapi, everyone is their own provider, one can not offend, blender began to choose to bind cuda is not a good idea

      • Vulkan API is open source, works on almost all GPUs, OpenCL open source works on any CPU and GPU. CUDA is proprietary and only works on Nvidia graphics cards, OptiX is proprietary, RTX is proprietary. Can you smell the difference?

  33. is this available in blender 3.0?

  34. That is just mind-blowing! Would you please consider adding light linking functionality to it? This is a must for so many architectural rendering and a lot of projects in general. That would make Blender just perfect!

    Thank you!

  35. where can I download the pvt_flat scene? it looks so great.
    I want to try and learn it. but I didn’t find in the demo scene page.
    thanks.

  36. I’d like they made truly pbr lights. I’d like to have the same light quality from Maxwell Render in Cycles. Also, improved bokeh and exposure controls like ISO and others; and a LUT file loader.

  37. I agree with lots of people here about light linking, it’s really something lacking in Blender and would be great help for many artists

  38. Is there a way to search the bug tracker for just Cycles X issues? And a proper place to report things? That kind of important info should really be included in this blog post (and any others about it, TBH). I’m testing it and have encountered an odd issue with a material being partially transparent that shouldn’t be.

    • It’s too early for bug reports, there are many things known to be missing or broken, as this is only a prototype. It will be a few months before we are ready for that. We have a set of hundreds of automated test renders, the first priority would be making those pass first, then we look into additional issues.

      In general for Blender development, there is no bug triaging for development branches. This only becomes practical once developers consider the feature ready for master.

  39. Answering a few commonly asked question:
    * While OpenCL is missing right now we are actively working with AMD and Intel on alternatives. It’s just a matter of time until support for these GPUs comes back. The precise APIs we will use is not something that is set in stone, but note that there are open standards like SYCL that are more modern alternatives to OpenCL.
    * For macOS/Metal, we think the new architecture will be easier to port and provide better performance. There’s nothing specific we can announce regarding that, but it’s probably just a matter of time until this happens.
    * There are lots of good feature suggestions in the comments. There are of course many improvements we plan to do, this blog post is specifically about the Cycles X research project, it’s not a complete overview of what will happen this year or next.
    * Regarding caustics, path guiding algorithms mentioned in the post are one way of rendering those more efficiently.
    * Tiled rendering will be back to support high res renders, but in a different form. All devices and CPU cores will likely be cooperating on the same tile.

    • I hope that in the future cycles-x to join the stable version of the software even if the new api is not yet ready, do not cut opencl, similar to ecycles, can not let me update more and more back to the front it

    • And when will you introduce SYCL support to Cycles X? Where is hardware independence? Where is the true concept of open source software? Or have you sold yourself to Nvidia?

    • Thankyou for your hard work Brecht (and for your patience with some of the comments here which have been less than respectful or helpful).

      Cycles X is going to be amazing, keep up the great work. :D

    • Thank you for even considering Metal, in an open and honest way. I know it might not happen, but not being immediately dismissed feels really nice :)

      Apple claims its working to help with various open source projects, including blender.. you’d think this would be an area they’d really be useful for!

  40. Can Cycles X run on CPU?

  41. OpenCL is a universal solution for all platforms, it has hardware independence and freedom. And you moved away from freedom and independence and began to spread your legs in front of the monopolist Nvidia! Shame on you Blender Foundation!

    • Not only do you have no idea what you’re talking about, you’re insulting people providing you with a state of the art render engine for free.

      Sometimes I just can’t even

      • Free, only you did not take into account that for this now you need to buy a video card for $ 2000. You seem to be an American, but for some reason you don’t understand what freedom is. Why should I be tied to a particular brand of hardware?

      • This is exactly what happens when proprietary shit starts taking over. Even the culture changes.

        Now free doesn’t mean freedom, it just means free as in you didn’t “pay” for it. News flash, you DID pay for it. You bought an expensive graphics card, and to get you to buy more, Nvidia offers more “free” things, and then gets to take over industries. I don’t care if you only care about Blender because it didn’t cost you money to download, that is NOT what FOSS is about. You can download Windows for free right now but you would be a fool to think you are using free software.

  42. – Gradient Domain Path Tracing please.
    – Make cycles-x research friendly. Many research on rendering algorithms are made with other renderers. If it’s made with cycles, it would be faster to integrate the new algorithms in the blender.

  43. Mac OS X metal support is really needed, at this moment cycles renders only on cpu, so quite powerful AMD gpu is just chilling, Octane did really great job implementing it into apple, so I’m having big hopes for Cycles too. At this moment I just find out blender 3.0.0 cycles-x branch in experimental build. https://builder.blender.org/download/branches/

  44. Tried Cyclex X, it’s great but… Looks like some features are not there yet, or it’s a bug: When you activate GPU + CPU (CUDA/OptiX) it ignores CPU and renders using only GPU which mean that performance gain is not as high as it can be.

    • Oops, just read the last part where is says that multi-device rendering is not supported atm.

      • I use a 1660 and a 1060 – Cycles X is already faster using one gpu than using 2 in 2.92. Can’t wait for multi GPU.

    • how you downloaded it plz

  45. -Automatic Mipmapping for GPU VRAM Optimization.
    -Spectral Rendering with Caustics.

    That would make Cycles a Powerful Beast!

  46. I think this might also hopefully provide some benefit to those with weaker hardware (older-gen, or a lower-end model within a particular generation of GPUs) besides from those having the money to get a better or the-best-of-the-best in hardware of today or the future.

    Though if this ended up requiring a higher CUDA compute capability level or having new requirements that older GPUs can’t fulfill then that might be questionable but if it doesn’t require newer hardware than what’s being required now for CUDA rendering then hopefully my opinion would remain valid.

    Besides from that, can’t wait to see Cycles X in action for the general public on various kinds of hardware, low-end to high-end.

  47. I really think it would be nice if you guys implemented custom world settings for specific materials, so maybe different parts of a model, based on material, have a different reflection map or environment map. It could be great for making some things look nicer!!

  48. Is going full progressive is really the only way?, the reason i’m asking is Cycle-X obviously render so much faster, especially when rendering a small size image + adaptive sampling. Afaik Octane and any other GPU rendering even they are progressive rendering, the image output rendering still updated via tiles/bracket.
    Can’t we still keep the tiles rendering mode though?

  49. Caustics should be the priority because it just isn’t there. Any other well known rendering engine has it, including the open source ones like LuxCore. I personally had to abandon Cycles because of how it renders glass objects, even though I like it a lot for other features.

    Also hope very much that Cycles will focus on photorealism which is crucial for architects and designers. Right now even the best interior renders made with Cycles look somewhat cartoonish.

  50. Hi and thanks for this welcome Cycle X introduction.
    Will Caustics rendering be improved and accurate ?

  51. Any love portion for the architecture to support Non-Photorealistic Rendering? Also Light/shadow Linking? Particle trails?

  52. This is very exciting! I hope they’ll also have a closer look at Shadow Terminator – and light linking.

  53. I am sure ‘X’ means macOS Metal support.

    • So it was with Octane. In this case, it most likely means 10 years Cycles… But I’m really looking forward to macOS Metal support 🙏

  54. Any plans to allow Cycles to be built on standalone basis OR included with hydra delegate included so it more closely competes with 3rd party paid renderers?

  55. Thank you for such research!

    It is already quite an effort to make Blender on Linux able to detect AMD GPU, but at last perf is not on par. It’s good to see movement on this front, and I’d love to see more neural stance on supporting Nvidia, AMD, and Intel GPU, not too much weight on one or another, treat users who own each respective GPU equally.

  56. I hope to give amd’s gpu quickly do new api I’m waiting to use

  57. Is there interest in supporting a Metal version of Cycles X for MacOS?
    Please, try to port Cycles X to MacOS 🙏🙏🙏

  58. Amazing! Looking forward to it!
    Next on the list:
    – light linking
    – spectral rendering
    – MLT

  59. I’ve recently moved back to Corona since Cycles does not have correct caustics, light mixing and is generally slower than Corona. Stil I am excited with this info :) It is right direction ^U^

  60. I believe we need more few things which are caustics and light groups

  61. Wow this is amazing!
    I know this is a feature request post now but it would be incredible to see an adaptive environment sampler like Corona and vray to make portals obsolete.

    Also improving glass would be amazing. The standard glass shader I feel is the worst out of all major render engines, let alone the caustics features now available which in Blender requires an obsurd amount of special nodes. So a little rework there would really go a long way!

    Finally allowing for light linking would be fab! The ability to turn on and off objects from certain lights would be soooo gooood!

    I absolutely love blender and it’s always such a shame to see people moving over to other render engines, so if cycles can bring people back with feature available in other engines then that would be amazing!

    Sorry this post just got me super excited that it’s being overhauled and I’m so excited to see what new features are coming out!

  62. Can we please add the light linking feature to blender cycles 🙏
    It helps a lot for the lighting artists.Wehave been requesting this feature for years now..We absolutely love blender and we have been working exclusively on blender since 7 years now.Would love to see this as a feature in cycles x
    Loads of love.
    God bless.

  63. Can we please add the light linking feature to blender cycles 🙏
    It helps a lot for the lighting artists.Wehave been requesting this feature for years now..We absolutely love blender and we have been working exclusively on blender since 7 years now.Would love to see this as a feature in cycles x
    Loads of love.
    God bless.

  64. What about nested dielectrics?Will it ever be?

  65. Amazing work.

    I already use a 3090 card with Blender, and even in 2.92 using Optix can move around relatively fast, but this is insane.

    The value of being able to work with your real textures, materials and lights and see how they will end up and doing adjustments on the fly, has accellerated my learning faster than any time before in my 20+ year Blender use history. This is HUGE.

  66. I don’t know why AMD keeps funding Blender when Blender repeatedly fails to devote any resources to supporting AMD hardware properly. How can you even tell if your software architecture is any good if you can’t even get it to run on more than one type of hardware?

    • Agreed. There is no denying that CUDA/Optix is the best software support at minute – but not sure why AMD should pay to support even tighter integration and preference (or why blender is indirectly helping a closed source vendor secure their lock in). AMD should at least consider downgrading / removing dev fund support and use the money to hire AMD dedicated staff to work on blender development

      • Agreed, after all this time and effort it’s clear the nvidia money hat has put brainworms in the Blender devs. AMD need to stop giving them money and do it themselves.

        It’s pretty clear this is a toxic culture issue, where nvidia fanboys have steered an open project into doing one manufacturers advertising work, probably while simultaneously saying cringe things like “m$” and fellating nvidia because somehow AMD are the Devil after they bought a videocard once in 2006 that didn’t work with their motherboard or some crap 😂

        • nv to high cuda optix, amd requirements vulkan, intel requirements oenapi, everyone is their own provider, one can not offend, blender began to choose to bind cuda is not a good idea

    • Um… what analogs of CUDA/OptiX does AMD (or Intel) have? I, to my shame, have not heard of such things. And how can you demand support for something that doesn’t exist?

      • Actual open standards. Cuda isn’t even open source. At this point I don’t even see why blender stays GPL if it’s just becoming a huge Cuda advertisement.

        “We are absolutely committed to staying open and free, as long as you are willing to buy Nvidia™ products and their black boxes! It’s the fastest!”

        Well if we are just using shit because it’s fast why am I using Cycles at all? I can just go use Octane or something faster. At this point, it’s only less free as in beer, not freedom. Cycles is just “Nvidia driver magic” at this point.

  67. I’m wondering when will Cycles support Metropolis Light Transport, it’s just one of the best algorythms there is, even better than Bidirectional path tracing and looks like so few people actually know what it is

    • https://developer.blender.org/T38401
      Ironically Rood was working on it like 7 years ago but it got scrapped. However, since it seems like tiles were big issue and one of the goals is to not rely on tiles for performance anymore.. Maybe this will be part of the efforts to improve caustics.

    • It is good, but it has its’own problems. I’m sure Cycles developers know about it enough

  68. Is there a higher-res of the windmill thumbnail?

  69. Another shout for Metal support…

  70. when will it be available to use?

  71. This is beautiful.
    Thank you so much.

  72. I was curious also about data handling improvements. Texture and mesh. In the past Cycles chokes where Arnold can render the same amount of data. I don’t know if that is at the render engine level or within Blender itself. Can anyone comment on that? And what If anything Cycles X project will be doing to address this?

    • Probably both.
      Blender core need a rewrite. It’s currently quite bad.

  73. Hello! There is already a build in experimental branches downloads. Quite impressive in my tests rendering a 30 million polygons bust with several 8k+ textures in viewport. Even making changes on the shader had a faster response and shorter updating times then before. Looking forward for those CPU optimizations.
    Congratulations to the Brecht and Sergey!

  74. Two questions: will this also have a positive effect on 1060 cards? When will a first version be available for a first look?

    • This will probably see a speed up for your GTX 1060. A version of Blender with Cycles-X can be downloaded from here: https://builder.blender.org/download/branches/

      Just find the one labeled “Cycles-X branch” and download it. There are other ways to get the Cycles-X branch, but this is the simplist.

    • I saw improvements on my 1050ti

    • It is awesome.
      There is any chance to make the architecture open for a future camera lens simulation update?

  75. The prospect of this being Nvidia-only on release sure sucks 😕

    Although admittedly I don’t benefit from the current kernels on my AMD GPU anyway, so using the CPU for rendering won’t be a change for me personally. It’s more exciting to think there could be better kernels in Vulkan or something in the future thanks to this work.

    • Looks like there are some viewport speed improvements for cpu users, at the very least.

      https://www.youtube.com/watch?v=INa-oT7TlzU

    • I was thinking the same thing but after some research I discovered that while Vulkan can do compute in theory it’s lack luster and not a focus of the API at the moment. This video explains the challenge of porting programs from CUDA to non-CUDA compute https://www.youtube.com/watch?v=KfDQb6xOkXg

      I’m just another armchair expert but it sounds like it would be much better for Cycles X to adopted SYCL for non-Nvidia compute so hardware support can be left up to the SYCL implementation (hipSYCL, Intel SYCL, ComputeCpp etc) rather than Blender supporting several APIs directly.

      SYCL is also written as a CPP/python namespace just like CUDA, no handwritten GLSL or SPIRV required.

      • Makes sense! I always sort of wondered why Vulkan didn’t get attention as a compute platform. It’d be nice if it could get some extensions for better compute, since Vulkan is really convenient for an end user and current dedicated compute platforms really aren’t… CUDA is however many gigabytes for some reason, and ROCm is such a packaging tangle I’ve never had the courage to install it. The fragmentation doesn’t sound fun from a developer perspective, either.

        • Good news! There’s already a prototype Vulkan backend for SYCL2020, Sylkan (https://www.youtube.com/watch?v=FcWc1nN6MAQ)

          What makes me excited about the concept of Blender + SYCL however is being able to use accelerators faster than a GPU on the same version of Blender by simply switching to another SYCL backend be it CUDA, Vulkan, Metal, OpenCL, raw ASIC/FPGA hardware calls, distcc like software for distributed TCP/IP compute or something else we don’t know we want yet.

          All Blender would need is a good SYCL2020 frontend to interface with the backend options installed on your system.

  76. I hope they don’t forget the new ARM Apple chips and do something for those too. Metal implementation please ;)

    • Rendering on a Mac is for people who buy expensive half eaten apple logo.
      Blender has no priority to implement such feature for 0.01% of their users.

      Get a real cpu/gpu not apple crap

      • Developers don’t buy Mac for the logo, they buy it for the OS. Blender’s Mac user base might be higher if it worked properly without boot camp, and on AMD GPUs. Mac is brand of computer used by hundreds of millions of artists. Why ostracise them?

      • You don’t need to be that rude. I’m not an Apple fan at all, but Apple product are used by many, many artist, mainly for the environment, its good integration with Adobe creative suite, the very good display and the entire Apple ecosystem, allowing to begin to work on your tablet, then switch seemlessly to a powerful workstation. And although not as powerful as the latest sever CPU from AMD, their M1 chip is by far one of the most powerful ARM CPU you can get, and its native performance does compare to a high-end consumer amd64 CPU (e.g. 11th gen Core i7), and its x86 to ARM compatibility layer is really, really good.
        And btw, the cycles-x branch is built for MacOS, here: https://builder.blender.org/download/branches/

      • Gheez. Grow up Sam.

      • totally agree!!!!!

      • Always sad to see belligerence and ignorance combined like this. Nobody person who has honestly compared the performance trajectories of ARM vs intel would take such a ridiculous view.

        Educate yourself:
        https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/7

        “The performance of the new M1 in this ‘maximum performance’ design with a small fan is outstandingly good. The M1 undisputedly outperforms the core performance of everything Intel has to offer, and battles it with AMD’s new Zen3, winning some, losing some. And in the mobile space in particular, there doesn’t seem to be an equivalent in either ST or MT performance – at least within the same power budgets.”

        The point isn’t that the M1 beats a professional 3D setup. The point is that it’s the *first* generation, available inside a tiny fanless laptop. Blender runs on my tiny MBA for hours, unplugged, without making the machine warm. Do I want something with a bigger screen? Yes. Do I want something with more cores? Yes. Both of those things are coming. Do I want something with more RAM? Yeah. But what the M1 does with RAM tends to diminish the importance of RAM. Smaller amounts of RAM will run a lot better than someone coming from an intel/AMD expect. (To be fair, it might be hammering the SSD harder than you’re expect too, so the arguments for more RAM are probably legit). Graphing the CPU performance (or the performance/watt) over the past 5-7 years of Apple’s architecture vs intel’s should impress anyone.

        Go to this page and scroll toward the bottom. If you can’t see it, it’s because you don’t want to.
        https://www.anandtech.com/show/16226/apple-silicon-m1-a14-deep-dive/4

        Blender needs to run well on Apple’s new architecture, not because we think everybody needs to be running on the M1, but because future architectures are going to surpass the M1 handsomely. Go back and read the quote from AnandTech. Better yet, read the articles.

      • How ignorant/naive. are you?

        I’ve come from a background using Symbolics, Amiga pro, Silicon Graphics, Unix, Windows and Apple ,over the years.

        I’m far from an Apple fan, but the simple fact is professionals collaborate, and that often means cross platform collaboration. So, in this case, my editing team primarily use FCPx. I also use Logic for sound design. I also use resolve for edit/grading, Ae for compositing and blender for 3D.

        All the above run on Apple, not all run on Windows/Unix, so from a professional point of view, (rather than childish fan boy point of view) apple support is very important.

        I can use blender on my apple laptop, still edit collaboratively with FCPx projects, on a machine which far outlasts and outperforms my win laptop, yet still render those prrojects on my windows based renderfarm. The new apple chipset and its performance appears to be superb for professional users on the go.

        Maybe you need to stop being ridiculous. You don;t get bonus points for brand loyalty

    • There’s already Metal API support via ProRender, OctaneX and Redshift renderers. The latter two runs on ARM.

      • To be fair, the integration with other render engines is tedious. Almost all material add-ons I have don’t work with other render engines or need to be converted one by one or rather every time. Every material, every asset.. I have huge material and asset library of a few TB.. if I had to open those files one by one in order to convert to another render engine… At least in my field of work this is way too time consuming.
        I agree with Matthew Evans. The Mac user base would grow rapidly if parameters like rendering on Metal API were given. I personally know a couple of people who only switched to windows for that one reason. They still use Mac where possible though.. so.. if they were able to do their rendering on the Mac they would go back fully in an instant… there is a reason why most people prefer Mac OS once they worked with both for a period of time.. but are forced to use windows for work due to lack of software integration. But seeing the Apples hash decision making seems to be paying of long term, (like producing their own silicon, or dropping open cl for a completely the from ground new API Metal with more long term potential) I suppose it is only a matter of time before there will be a shift back to Mac. Personally since I work full time on my computer the OS I interact with ALL DAY is more important to me then the price difference.. by a long shot. And I know A LOT of people who feel the same way.

  77. Great job! Looking forward to playing around with it (:

    Happy to be a dev fund contributor!

  78. Was hoping to see some mention of caustics / refraction support….

  79. Priorirising NVidia’s walled garden in cuda/optix is worrying for software which prides itself on being open source. Its maybe time for amd and intel to consider re-routing their development fund contributions to dedicated staff employed by them

    • Nvidia has two devs working on Blender, so that’s probably why.
      AMD and Intel can do the same, they just need to fund it.

      • Yeah – AMD, Intel (with their upcoming Xe GPU) and even Apple need to see this as an opportunity to do something different. Otherwise they risk another 10 years of the current status quo, were their hardware users are treated as 2nd class citizens

      • Pretty sure AMD also have staff working on blender E.g. submitted the Radeon denoiser patch which failed to make it into 2.93 (equivalent of Optix). Maybe need a bit more support and focus from the blender dev team

  80. WOW! That is fast! I like it.

  81. There was an issue with objects far off from the scene origin causing artifacts. Stefan Werner adressed this with a patch (origin offset) based on a project by Matt Pharr (https://pharr.org/matt/blog/2018/03/02/rendering-in-camera-space.html).
    Not understanding the first prototype graphic I am wondering if this will not be an issue anymore?

  82. Hope Blender will not create a Nvidia only situation as the rest of the industry have to be, but you are right on the OpenCL stall.

    Good luck, keep the good work devs!

  83. So many awesome news !

    Thx a lot Brecht and Sergey,

    Out of curiosity, do you plan to make Cycle spectral with the work done by Smilebags (and others), or is it to much work/out of scope as for now (or maybe the work already done is not usable as it…).

    https://devtalk.blender.org/t/thoughts-on-making-cycles-into-a-spectral-renderer/2192

    Thx a lot,
    Francis

  84. Will sharp caustics for glass and other reflective and refractive surfaces ever be implemented in the new cycles?

    • They say that they will try to experiment with this (path guading etc)

    • See also slide 22 about caustics in the technical presentation (linked to in the article above).

    • Yes, it was explained on the video, cycles will be finally be able to produce caustics

    • cycles can already do that

  85. Great news!
    For the multi GPU work, are you aware of Miros Jaros work presented at GTC this year?

    Jaros et al GPU Accelerated Path Tracing of Massive Scenes, ACM Transactions on Graphics 2021

  86. Since, Cycles X project is to gear up for the future, maybe it would be good time to change to or incorporate spectral rendering as well?

    • Interestingly they note for the caustics slide of the developer post to cross reference with PBRT v.4 which is fully spectral. Buuuut they haven’t mentioned it anywhere really so probably not going to happen.

  87. Wow, that performance increase is crazy, and super cool to see how using the Intel denoiser in the viewport will be viable now. Impressive stuff! :D

    • I just hope it will work with apple silicon

      • Me too

      • To my limited knowledge, most arm chips, like the one in the Mac, use the opencl kernel. I don’t think that there is as a widely adopted standard as opencl and I’m interested as to how the blender team will move on without it

        • I think metal is used in ios apps, so to my knowledge it seems like they’d use metal.

  88. So the new architecture of cycles will be shipping with a 2.93 version?

    • No. It is likely 3.+ version. They are in early stages now

  89. Hope to turn on opencl’s Ray Tracing in the last

  90. Can you turn on Ray Tracing in opencl before the new api comes out to give amd 6000 series users a wave

    • Yes! Please I would love to see something like this for AMD cards!

      • I have an rx 5700 and blender 2.8 and 2.9 suck on it. It crashes all the time and Volumetrics don’t even work with gpu. I really love blender, but this sucks. I whish it’ll work in the future.

In order to prevent spam, comments are closed 15 days after the post is published.
Feel free to continue the conversation on the forums.