Completely different Render results GPU vs CPU

Started by ddolezal, April 05, 2022, 11:11:43 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ddolezal

Hello,


as we are diving deeper in  GPU rendering, we are encountering some irregularities when we compare GPU vs CPU renderings.


System is a Core i9-K 12900K with a GeForce RTX 3080 Ti, Windows 11, Keyshot 11.1


In example 1 there we rendered 60 Minutes CPU and 30 Minutes GPU - I am quite astonished that the CPU treats the Surface material completely different and shows light reflections which are completely missing in the GPU rendering.


In example 2 the difference is not that pronounced, but we have a slight color difference in the renderings.


All renderings were done in Product mode, lightning was done with "Light tent white floor" and 4 additional physical lights.

Does anyone experience similar issues?




Thanks in Advance,
Dieter

hstokholm

Hello Dieter,

It is not immediately clear why you are seeing these differences between CPU and GPU. Would it be possible for you to share the scene? You can send it via keyshot.wetransfer.com to heine at luxion.com if possible.

If not I would like some more information about the scene to better help you.
Does it happen for all material types? And what material are you using?
Are the missing reflections from the physical lights or the environment?

Thanks,
Heine

ddolezal

Thanks for the fast reply - I will transfer the scene immediately as a KSP.


The reflections present in the CPU rendering are from physical lights.
It looks like the Material "behaves" differently on CPU or GPU....




Regards,


Dieter




ddolezal

@hstokholm: Just sent it via WT - but could not change the address and had to send it to info@luxion.com instead


hstokholm


Don Cheke

Not sure anyone here would care about this because it was from version 9 but....

I was having computer troubles and I thought it might be my graphics card (Nvidia Quadro K1200) so I went and bought a new one (Nvidia GeForce RTX 2060).
Before this trouble I had been convinced that the Quadro card was not the best one for TurboCAD as I had experienced screen refresh issues that even the latest driver issues would not fix. It was never bad enough to turn me off, but I did question my reasons behind purchasing the card in the first place. I had purchased it when I built a new computer and because SolidWorks required a Quadro card to run the RealGraphics component of the program. As it turns out I was not impressed by that option (I did not see the need) and turned them off from that point forward.

I eventually purchased KeyShot and that program, unlike TurboCAD, is supposed to utilize GPU processing. As it turns out the Quadro K1200 card did not work with KeyShot. With GPU engaged it would pop up dozens of errors one after another until the program crashed. My take on this was that that the K1200 was/is a poor choice in the first place. As such, I always used CPU for work and rendering.

Enter the new RTX 2060. As for TurboCAD, the screen refresh issue is gone. TurboCAD does not utilized GPU processing, that I am aware of, and I am sure it does not use it for rendering.

Back to KeyShot. The RTX 2060 works as expected in both processing and then rendering. There is a definite increase in screen frames per second by about 6-8 times. Rendering is significantly faster but the results, to my surprise, were that GPU rendering is far inferior to CPU rendering. This really surprised me, so I did some research and found this article that explained exactly what I as seeing in my simple test.
https://renderpool.net/blog/cpu-vs-gpu-rendering/ ....

So let's look at my test.

I had modeled a 12v battery that I had produced as three separate tutorials several years ago. I did one for TurboCAD, one for Alibre and one for SolidWorks. I used the SolidWorks one for the test so I could bring the model into KeyShot and retain all layers and assemblies. This was just to save a bit of time. It would not affect the rendering.

In KeyShot, I established materials, including translucent ones for the outer case and I established lighting that would pass through the material and produce an interesting result. I then rendered in GPU mode and then again in CPU mode. Both were rendered out at 3750 x 2100 px using 500 samples.
GPU looks okay IMHO, but it is missing all the translucent / lighting character. It took 9:03 minutes to render.

CPU looks okay IMHO and has all the character it should, as best I could manage at the time of creation. It took 3:48:07 hours to render.
If I had never tried CPU, I would have thought that the GPU rendering was just something that was quicker. Now I know that it might have its uses in rendering, but for best results I will use CPU. I guess the adage about the best things require an investment of time rings true. If the GPU utilized some of the other processes in the program then I suppose one could run in GPU mode until they want to get working on rendering, but in KeyShot, which is all about rendering, it seems one has to run in CPU mode to see what you will be getting in the live preview.

I am glad I got the new card, just to be rid of the K1200 and I live in hope that TurboCAD will be able to use it in some manner. It did cost me $500 CAD for it and a connector and another cable.

Perhaps these issues have been fixed in v10 & V11 but from this post it doesn't sound like it.


ddolezal

Looks quite similar to my problem. Obviously some Material properties are not taken into account by the GPU renderer, which is quite weird.
I assume that in my case the missing reflections in GPU-Render are caused by something like this.


@hstokholm Do you have any new findings on this issue?
[/size]
[/size]Regards,
[/size]Dieter
[/size]

hstokholm

We have looked into your scene and have found that the disabled fresnel on the advanced material wasn't used correctly on the GPU in all cases.

A fix for this is in the works for the next release. Again thanks for supplying the scene! It makes fixing these issues much easier.