GPU and CPU rendering - COMPLETELY different.

Started by BoazD, April 26, 2022, 09:40:16 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BoazD

After never having an RTX card in my freelancing computer due to the chip shortage and scalping - I started a new job and finally got my hands on a machine with an RTX A6000 at the office.
On my latest project I thought I could take advantage of gpu mode for the setup and then switch to cpu rendering for the final image - not a unique workflow from what I'm hearing. But then I found my final images don't look anything like what I expected.

Upon further investigation I'm finding very inconsistent results between cpu and gpu rendering.
on some scenes you'd have to pixel-peep and split hairs to spot any difference, but on other scenes it's night and day.

Keyshot advertises "one-click" to switch back and forth between cpu and gpu, and while that's technically true, it's totally useless in my experience.
Switching between the cpu and gpu rendering engines may only take a single click, but then you have to readjust all the materials, environments and lighting and get the look and feel you're happy with, and more often than not you just can't get gpu and cpu to look similar no matter what you do (read ahead).

After seeing these differences I concluded I basically need to pick a rendering engine and stick with it from start to finish if I have any hope or expectation to the get a final image that resembles what I was seeing in my live-view.

I've heard and read that some variation between gpu and cpu modes was to be expected because of the way the different algorithms interpret the scene (or some sophisticated sounding reasoning along these lines), and that Keyshot makes an effort to make the two modes look as similar as possible. Well, in some cases it's not a matter of being as "similar as possible", it's a matter of being similar at all. And it's not just a question of brightness or contrast difference, it's all over the place.

For demonstration I built a test file and ran an experiment. Feel free to download the attached images and compare back and forth between them.

First observation is that cpu and gpu samples are not the same. It takes a lot more samples to get a smooth image on gpu rendering, and even at 4096 samples I still can't get a smooth edge on some materials (look at the pixelation / furriness of the edge of the glass and around the buttons on the top face of the cube).
Having said that, gpu samples on my machine are extremely fast (again no surprise here). I rendered 4096 samples on gpu much faster than 128 samples on cpu.
Lastly, it's not just a matter of scene brightness or contrast. the speculars and textures are just totally different in their own kind of way.. Even after trying to adjust the HDRI (brightness, contrast, and individual pins) I just couldn't get it to match. It's really a different animal.

Is anyone here having any luck utilizing both gpu and cpu modes in a single workflow? Are you getting any value from switching back and forth between them?

hve

Same issue here, not sure why. I tend to start my projects with GPU only now so I don't have this issue anymore

Will Gibbons

I'm not here to defend the discrepancies between these two modes of rendering. However, I've also don't know anyone who switches between CPU and GPU mode on a single project due to the fact that they are not going to match. Basically, your computer is going to be faster in GPU mode or CPU mode from one scene to the next. Best practices would be to identify which one is better for your machine and just stick with it.

I know that's not ideal. I personally would love for the two to create identical outputs, but I'm not sure if that'll happen. I also don't know if other render engines that can run on CPU and GPU are producing identical results. Would be interested to know if that's the case.

I suppose where you can get into trouble is if you have a library of materials you use across multiple projects. Using those materials in scenes rendered on the CPU then later on the GPU will probably produce different results unfortunately.

To answer your question, no. I don't try using CPU and GPU rendering in the same workflow/project.

Furniture_Guy

Unfortunately we have thousands of legacy images rendered in the before time so we must stick with CPU rendering because of the visual differences...

Perry

TGS808

Quote from: BoazD on April 26, 2022, 09:40:16 AM
After seeing these differences I concluded I basically need to pick a rendering engine and stick with it from start to finish

Do that, and you'll be fine.

mattjgerard

Quote from: Furniture_Guy on April 26, 2022, 12:42:16 PM
Unfortunately we have thousands of legacy images rendered in the before time so we must stick with CPU rendering because of the visual differences...

Perry

Same. We are CPU all the way, even though i have a halfway decent card in my box. Honestly being able to do both CPU and GPU rendering is not common anymore, most other renderers pick one and devote all their time and effort into it. We all know that CPU is still more stable and reliable (and capable, there are still things that dont work with GPU) but GPU is the new shiny speedy Lambo sitting in the driveway that may or may not get us to the same destination as our trusty Toyota.

hve

To be honest GPU working flawlessly here, rock stable (RTX3080Ti) so it's not a problem at all for me except with older CPU projects but with some small tweaks this can be addressed

Will Gibbons

Quote from: Furniture_Guy on April 26, 2022, 12:42:16 PM
Unfortunately we have thousands of legacy images rendered in the before time so we must stick with CPU rendering because of the visual differences...

Perry

Also valid. This is a bummer!

sloanelliot

I'm ride or die for CPU-- I have an RTX 8000 but Keyshot GPU just isn't stable/reliable enough (often crashes when toggling on/off, verrrrry finnicky with drivers, etc.), and despite the card I do have, scene navigation in GPU is a bit more laggy/sluggish when compared to CPU. I sorta gave up on GPU as a whole, for the time being. Maybe KS 12..

mattjgerard

Quote from: hve on April 27, 2022, 06:40:07 AM
To be honest GPU working flawlessly here, rock stable (RTX3080Ti) so it's not a problem at all for me except with older CPU projects but with some small tweaks this can be addressed
And this is the frustrating thing, is that while you have a great setup and workflow, others won't, and there is no easy way to tell why. I think if you have a specific workflow that you don't have to meld with anything else (solo artist, no network rendering, etc) it could be fantastically fast, and I'm super jealous. Its just not there yet. And there are bits missing from the CPU rendering that you can't do in GPU rendering, now that IS getting better and more compatible but I'm not sure it will be a very viable solution for some users. I really wish it would work for me!!!!!

TGS808

Quote from: mattjgerard on April 27, 2022, 05:59:57 AM
GPU is the new shiny speedy Lambo sitting in the driveway that may or may not get us to the same destination as our trusty Toyota.

Indeed. As I've said here before, faster isn't always better. Sometimes, it's just faster.

hve

Quote from: TGS808 on April 27, 2022, 10:01:26 AM
Quote from: mattjgerard on April 27, 2022, 05:59:57 AM
GPU is the new shiny speedy Lambo sitting in the driveway that may or may not get us to the same destination as our trusty Toyota.

Indeed. As I've said here before, faster isn't always better. Sometimes, it's just faster.

What GPU car are you using, I remember that in onder versions of KS (9 I believe) there where some driver issues, sometimes it's just the driver that is the issue so I'd definitely check that out and see if some versions work better.

TGS808

Quote from: hve on April 27, 2022, 02:14:00 PM
What GPU car are you using, I remember that in onder versions of KS (9 I believe) there where some driver issues, sometimes it's just the driver that is the issue so I'd definitely check that out and see if some versions work better.

I don't use the GPU at all. No matter the driver you have, at this point the results of the CPU are visually superior to the GPU. That's just a fact. That may change in the future but for now, that's how it is. Now, I'm not saying the CPU is lightyears better but it is noticeably better. Certainly enough to make a difference. I use a network of dedicated servers to render so the speed gains of the GPU don't really matter to me. Even if they did, the trade off on final image quality isn't worth it.

hve

Quote from: TGS808 on April 27, 2022, 05:30:14 PM
Quote from: hve on April 27, 2022, 02:14:00 PM
What GPU car are you using, I remember that in onder versions of KS (9 I believe) there where some driver issues, sometimes it's just the driver that is the issue so I'd definitely check that out and see if some versions work better.

I don't use the GPU at all. No matter the driver you have, at this point the results of the CPU are visually superior to the GPU. That's just a fact. That may change in the future but for now, that's how it is. Now, I'm not saying the CPU is lightyears better but it is noticeably better. Certainly enough to make a difference. I use a network of dedicated servers to render so the speed gains of the GPU don't really matter to me. Even if they did, the trade off on final image quality isn't worth it.

Just out of curiosity, based what fact CPU is better then GPU ? Good for you you have accès to network for rendering, for me I'm really happy with the GPU results, they are a bit différent but worse or better just a bit different.

TGS808

Quote from: hve on April 28, 2022, 03:34:02 AM
Just out of curiosity, based what fact CPU is better then GPU ? Good for you you have accès to network for rendering, for me I'm really happy with the GPU results, they are a bit différent but worse or better just a bit different.

Based on the fact that I've seen the difference with my own eyes. You can search this forum and you'll find it's the case. Even the staff at Luxion will tell you that the GPU and CPU results are not a one to one match. (It's the topic of the thread we are on right now). I'm not telling you not to be happy with your GPU results or not to use it. I didn't say the results of the GPU were bad. I said they are not as good as the CPU and that is true. You say they are "different" and that's fine but those differences are what make it not as good.