Jump to content

GPU vs CPU


Andrew _GF
 Share

Recommended Posts

Hi guys

I’m working on a GPU vs CPU rendering comparison which will be the subject of a podcast I’m working on with my colleagues. Every day I work as a support guy on a cloud render farm and I have my experiences with both CPU and GPU rendering (and I’ve seen experiences of our customers) but I’m very curious about your opinion.
 
If you use GPU render engines what are the reasons? The most common reason I’ve heard about is speed, but of course when you have access to more than one card or processor then I guess it’s rather speed\money.

What is interesting for me is are there any other reasons for using GPU render engines? Do they give a different, maybe cooler look, any features which CPU engines lack or type of subjects where they give better effects?

I’m very curious about your opinions and impressions when it comes to GPU rendering. What are the pros and cons?

By the way – when it comes to GPU unbiased engines – the GI and glossy reflections\materials highlights are computed as the same thing, right? For example, in CPU V-Ray GI and material reflections are visible on two separate layers\passes. 

Link to comment
Share on other sites

I work for a bathroom furniture company and as 3D artist / Graphic Designer I render a lot of bathroom images for catalogs, brochures and other advertisement. I started with Maya and good old Mental Ray but it was complicated to get everything right, test rendering for materials was horrible and final renders were incredibly slow. In the end, just before it got terminated, I was part of the beta for testing it's GPU capability's and that was already a huge improvement. So when Mental ray got discontinued I saw an article from Daniel Reutersward about the GPU renderer Fstorm. I tried it out and was immediately sold. It's super simple to setup and pretty fast as wel. I could spend a whole lot more time on getting my materials right and picking the right camera angles instead of tweaking a hundred settings with Mental Ray and still not getting it right. Since then I got a couple nice computer upgrades and I'm now running two 2080 RTX cards making Fstorm really fast. Making it possible to quickly build a scene, do some test renderings and spend a lot of time on getting the details right and do some nice interior styling without worrying about settings and rendertimes. 

So that is why I am now exclusively using Fstorm. I still have plans to test out other renderers like Vray or Corona but I haven't found time to try them out.

I do know that Fstorm is still lacking a lot of usefull features (caustics for instance) but it get's updated very frequently. Another problem with GPU rendering is probably the limit memory you get to work with. I got 2 2080 RTX cards that both have 11GB of memory but unfortunately it doesn't stack. On top of that Windows 10 takes about 2 or 3 gigs of memory so that can be very limiting for big exterior scenes. I do however believe that in Vray you already can stack two gpu's for maximum memory and probably in the near future more and more memory will be available with newer graphic cards. 

Link to comment
Share on other sites

Can't really tell because I've only used Mental Ray and Fstorm. The renders in Mental Ray look like shit compared to the ones I currently make with Fstorm but that is also due me gaining a lot more experience and knowledge and because Mental Ray was back then already a pretty outdated renderer in my opinion. 

Besides minor differences in how an image will look in different render engines I don't think it makes a huge difference which engine you use. I think you can get great images with all engines. They all have good and bad parts. It's all about your own preferences I think. All can say is that I like Fstorm because it doesn't overly complicate the setup and material creation. You can quickly set up a scene and start rendering. As you add more stuff you can tweak, optimize and find the right angles. It works for me and that's whats important. 

In 4 words: Easy, Fast and Realistic results.

Link to comment
Share on other sites

I did some extensive research earlier this year testing vray gpu vs vray cpu. In conclusion gpu ended up being more costly in the fact that processors rapidly decrease in value and can be snagged for low prices while gpus often hold their value because of the gaming community.

The other main issue I found with GPU is it just does not compete with the stability of CPU rendering. Many more crashes and bugs with GPU, to the point where I would not be willing to take the risk and possibly miss a deadline.

All this being said - GPU rendering has gotten significantly better over the last year, and for certain projects it might make sense. For smaller scenes where you may not have access to a powerful local render farm it may be more efficient.

The war between CPU and GPU is also bringing a lot of innovation lately which is exciting to see - we are seeing very high core counts in CPUs as GPU rendering quickly becomes more mainstream.

Link to comment
Share on other sites

  • 3 weeks later...

From my experience, "Quality" or 'Look" they are about the same, this will mostly depending on the software that you use, Shaders needs to be compiled or build to work on a GPU, CUDA or Open GL and others. This meant that some GPU render will lack some features that CPU engines already have nailed.

The main advantage of GPU rendering is the speed of processing, because of this, the trend is using Brute force method for rendering, since it runs a lot faster than in CPU, So if you compare an Irrandiance map V-Ray with a Brute force Fstorm, it will look different, ( Brute force, is more precise)

Having said that, the Memory limit is the main draw back for GPU renders, there are some work around like V-Ray or RedShift uses, but again that limit the type of shaders you can use and scale of projects.

If you are in Motion graphics for TV and advertising GPU rendering could be your best bet, for Large Arch Viz scenes, it is almost impossible to use them as a single option. Some scenes will work others won't.

Link to comment
Share on other sites

  • 2 weeks later...

Interesting topic as I have been looking into this myself the past few months with the new options Vray are offering on this front. My brain is really not hardware wired, but I'm trying my best to discern differences, as I'm due an upgrade soonish and investing in a decent GPU driver is quite something. However, if it means that I can work 50% faster in terms of test rendering then I guess it will even out in the long run.

What I don't like about GPU rendering so far (only Vray experience here) is that certain features that I use all the time aren't supported (Forest Color and Railclone Color maps being one of them), so you can't switch between CPU and GPU rendering easily...rather you have to set up a scene specifically for GPU which I find a bit of a hack.

Has anyone tested Vray's hybrid rendering, and if so what are your thoughts?

Link to comment
Share on other sites

  • 4 weeks later...
On 7/6/2020 at 11:32 AM, terribrown said:

....... (Forest Color and Railclone Color maps being one of them), so you can't switch between CPU and GPU rendering easily...rather you have to set up a scene specifically for GPU which I find a bit of a hack.

Has anyone tested Vray's hybrid rendering, and if so what are your thoughts?

Forest Color and Railclone COlor works in VRay 5 CPU as well as GPU rendering

We use bercontile a lot, and that doesnt work as expected in VRay 5. However, that being said, there are the new UVWrandomizer textures in there that are pretty great.

 

If you have a slow CPU, then a modern GPU (or 2) could do wonders for your workflow. If you have a modern CPU as well as GPU, then both working together could help when using GPU for rendering.

 

AMD's new cards are rumoured to come out in November. Historically these have sucked for GPU rendering with VRay and you pretty much need an NVIDIA card, but the new ones are suppose to have raytracing capibilities built in. But even if new AMD's are 20% slower than their NVIdia counterparts, they're likely to be millions times cheaper! (hopefully)

 

We'll have to wait and see if it can be used for GPU vray rendering.....

 

Link to comment
Share on other sites

19 minutes ago, Morne Erasmus said:

AMD's new cards are rumoured to come out in November. Historically these have sucked for GPU rendering with VRay and you pretty much need an NVIDIA card, but the new ones are suppose to have raytracing capibilities built in. But even if new AMD's are 20% slower than their NVIdia counterparts, they're likely to be millions times cheaper! (hopefully)

 

We'll have to wait and see if it can be used for GPU vray rendering.....

 

Well I would not bet on AMD's card to be 'better' or 'faster' than NVidia, the main problem is VRay rely on Embree (Intel) and Cuda (NVidia) to do their fastest software acceleration. Having said that, no matter how fast an AMD cards would be compared to a similar priced NVidia cards, AMD does not work with CUDA codes, those are proprietary of NVidia.

As I understand VRay give up Open GL/CL acceleration long time ago for lack of development.

It is sad to see this happening in our industry but is not first time. We are locked to a single brand to get a single tech.  I am an AMD CPU user and since I payed less for a better performance CPU compared to an Intel version I don't mind the Embree missing feature really, I also used to have AMD Pro card, but in that case the lack of features it was limiting my production capabilities.  YMWV.

VRay 5 has improved a lot of things, there are still some small incompatibilities but CPU_GPU rendering is working better each version.

I used to use Itoos Forest shaders or raicloner shader, but I always found incompatibilities or strange flickering while doing animations. Since the introduction of VRay's multi texture and other shaders, there is no need to look for a second or third party option, keeping everything within VRay is a safe bet for compatibility.  The same thing with Bercon tiles, but because of the same compatibility issues now we create those textures in Substance designer and problem solved.

By the time RTX 3000 card are out, you may be able to find GTX 1080TI at a very competitive price, even RXT 2060 or 2070 are very good performers. The only limitation is RAM but as mentioned before, VRay can share memory in most cases.

 

 

Link to comment
Share on other sites

GPU rendering is a rich person's game. Either you have the cash for a Titan RTX, Quadro RTX 6000/8000, or at the bare minimum a RTX 2080TI. If you can't afford the build a machine around one of those, you are better off building a strong CPU machine for lower cost overall. For the cost of the Titan RTX alone, you can build one heck of a CPU based machine with a semi-decent GPU like the RTX 2070/ 2080 super.

As noted before, GPU rendering is a bit sensitive to what you give it. It's a finely tuned sports car that can only run on racing fuel. However, CPU rendering is a 50 year old farm truck that can run on gas, diesel, moonshine, and whiskey. As long as the fuel is combustible, the truck will run on it.

So the time it takes to optimize the scene and your general pipeline to go to GPU, may not save you that much time overall.

In all honesty, Vray RT is just about dead. Vray's Lavina will overtake Vray RT here shortly and is becoming my go-to for real time out of Max/Vray.

Link to comment
Share on other sites

2 hours ago, VelvetElvis said:

n all honesty, Vray RT is just about dead. Vray's Lavina will overtake Vray RT here shortly and is becoming my go-to for real time out of Max/Vray.

Yes, Lavina is working great for me too. THe only thing for me that is outside of 3D Max, (it kind of remindsme of Maxwell rendering or indigo and all similar) But hey if that mean better performance I am all about it.

When I tested some animation, it was incredible how fast was rendering frames compared to regular GPU inside Max, the translation time inside of 3D MAx for each frame is some serious drawback.

While rendering same scene in Lavina they just crunched like a CPU render.

 

I also agree new NVidia card are way to expensive. For anybody who ask me what machine to use for rendering I recommend an Rizen 8 or more cores, there is no better machine with better price/performance ration.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...