Author Topic: sbsrender 11.1.2 is slower than 10.1.3  (Read 408 times)

Hello,
We have updated our rendering pipelines from 10.1.3 to the latest 11.1.2 and sbsrender takes almost ~x1.5 to x2 times when rendering.

I include two .sbsar files, one exported with version 10.1.3 and other with 11.1.2. These are the instructions for reproducing the timing:
(Environment used: Windows 10, PowerShell, NVIDIA RTX-2060)
From command line withing a PowerShell, launch the rendering process for outputing the Substance at 4096x4096 using the GPU engine DirectX 'd3d11pc' and with the input.png image as input entry:

[NOTE] Please use for input image a 24bits png with resolution 4096x4096 px

The results for using sbsrender version 10.1.3 (build 3687 commit 0x0f34f9e9):
Code: [Select]
Measure-Command { sbsrender.exe -vvv render --png-format-compression 'none' --input .\Rocky_Ground_v10.1.3.sbsar --engine 'd3d11pc' --set-value '$outputsize@12,12' --set-entry 'input@input.png' }[INFO][GPUInfo]Enumerating GPU adapters:
[INFO][GPUInfo]    0 : NVIDIA GeForce RTX 2060
[INFO][GPUInfo]    1 : Intel(R) UHD Graphics
[INFO][GPUInfo]    2 : Intel(R) UHD Graphics
[INFO][GPUInfo]    3 : Microsoft Basic Render Driver
[INFO][GPUInfo]Using GPU number 0: NVIDIA GeForce RTX 2060
[INFO][SBSRender]Using cache folder C:/Users/user/AppData/Local/Temp
[INFO][SBSRender]Will load engine located at "C:/Program Files/Allegorithmic/Substance Designer/plugins/engines/substance_d3d11pc_blend.dll".
[INFO][SBSRender]Results from graph "pkg://Pebbles" into package "C:/test/substance-benchmark/Rocky_Ground_v10.1.3.sbsar" :
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Pebbles_output.png".
[INFO][SBSRender]Results from graph "pkg://Rocky_Ground" into package "C:/test/substance-benchmark/Rocky_Ground_v10.1.3.sbsar" :
[INFO][SBSRender]  Output "basecolor" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_basecolor.png".
[INFO][SBSRender]  Output "normal" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_normal.png".
[INFO][SBSRender]  Output "roughness" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_roughness.png".
[INFO][SBSRender]  Output "metallic" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_metallic.png".
[INFO][SBSRender]  Output "height" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_height.png".
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_output.png".

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 7
Milliseconds      : 479
Ticks             : 74792718
TotalDays         : 8,65656458333333E-05
TotalHours        : 0,0020775755
TotalMinutes      : 0,12465453
TotalSeconds      : 7,4792718
TotalMilliseconds : 7479,2718

The results for using sbsrender version 11.1.2 (build 4593 commit 0x0a3b2baa):
Code: [Select]
Measure-Command { sbsrender.exe -vvv render --png-format-compression 'none' --input .\Rocky_Ground_v10.1.3.sbsar --engine 'd3d11pc' --set-value '$outputsize@12,12' --set-entry 'input@input.png' }[INFO][GPUInfo]Using GPU number 0: NVIDIA GeForce RTX 2060
[INFO][SBSRender]Using cache folder C:/Users/user/AppData/Local/Temp
[INFO][SBSRender]Will load engine located at "C:/Program Files/Allegorithmic/Substance Designer/11.1.2/plugins/engines/substance_d3d11pc_blend.dll".
[INFO][SBSRender]Results from graph "pkg://Pebbles" into package "C:/test/substance-benchmark/Rocky_Ground_v10.1.3.sbsar" :
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Pebbles_output.png".
[INFO][SBSRender]Results from graph "pkg://Rocky_Ground" into package "C:/test/substance-benchmark/Rocky_Ground_v10.1.3.sbsar" :
[INFO][SBSRender]  Output "basecolor" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_basecolor.png".
[INFO][SBSRender]  Output "normal" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_normal.png".
[INFO][SBSRender]  Output "roughness" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_roughness.png".
[INFO][SBSRender]  Output "metallic" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_metallic.png".
[INFO][SBSRender]  Output "height" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_height.png".
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_output.png".

Days              : 0
Minutes           : 0
Seconds           : 11
Milliseconds      : 697
Ticks             : 116971909
TotalDays         : 0,000135384153935185
TotalHours        : 0,00324921969444444
TotalMinutes      : 0,194953181666667
TotalSeconds      : 11,6971909
TotalMilliseconds : 11697,1909

If using the version exported from 11.1.2 (it is compatible with 10.1.3 as well, the timings are equivalents):

The results for using sbsrender version 10.1.3 (build 3687 commit 0x0f34f9e9):
Code: [Select]
Measure-Command { sbsrender.exe -vvv render --png-format-compression 'none' --input .\Rocky_Ground_v10.1.3.sbsar --engine 'd3d11pc' --set-value '$outputsize@12,12' --set-entry 'input@input.png' }[INFO][GPUInfo]Enumerating GPU adapters:
[INFO][GPUInfo]    0 : NVIDIA GeForce RTX 2060
[INFO][GPUInfo]    1 : Intel(R) UHD Graphics
[INFO][GPUInfo]    2 : Intel(R) UHD Graphics
[INFO][GPUInfo]    3 : Microsoft Basic Render Driver
[INFO][GPUInfo]Using GPU number 0: NVIDIA GeForce RTX 2060
[INFO][SBSRender]Using cache folder C:/Users/user/AppData/Local/Temp
[INFO][SBSRender]Will load engine located at "C:/Program Files/Allegorithmic/Substance Designer/plugins/engines/substance_d3d11pc_blend.dll".
[INFO][SBSRender]Results from graph "pkg://Pebbles" into package "C:/test/substance-benchmark/Rocky_Ground_v11.1.2.sbsar" :
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Pebbles_output.png".
[INFO][SBSRender]Results from graph "pkg://Rocky_Ground" into package "C:/test/substance-benchmark/Rocky_Ground_v11.1.2.sbsar" :
[INFO][SBSRender]  Output "basecolor" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_basecolor.png".
[INFO][SBSRender]  Output "normal" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_normal.png".
[INFO][SBSRender]  Output "roughness" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_roughness.png".
[INFO][SBSRender]  Output "metallic" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_metallic.png".
[INFO][SBSRender]  Output "height" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_height.png".
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_output.png".

Days              : 0
Minutes           : 0
Seconds           : 7
Milliseconds      : 351
Ticks             : 73515463
TotalDays         : 8,50873414351852E-05
TotalHours        : 0,00204209619444444
TotalMinutes      : 0,122525771666667
TotalSeconds      : 7,3515463
TotalMilliseconds : 7351,5463

The results for using sbsrender version 11.1.2 (build 4593 commit 0x0a3b2baa):
Code: [Select]
Measure-Command { sbsrender.exe -vvv render --png-format-compression 'none' --input .\Rocky_Ground_v10.1.3.sbsar --engine 'd3d11pc' --set-value '$outputsize@12,12' --set-entry 'input@input.png' }[INFO][GPUInfo]Using GPU number 0: NVIDIA GeForce RTX 2060
[INFO][SBSRender]Using cache folder C:/Users/user/AppData/Local/Temp
[INFO][SBSRender]Will load engine located at "C:/Program Files/Allegorithmic/Substance Designer/11.1.2/plugins/engines/substance_d3d11pc_blend.dll".
[INFO][SBSRender]Results from graph "pkg://Pebbles" into package "C:/test/substance-benchmark/Rocky_Ground_v11.1.2.sbsar" :
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Pebbles_output.png".
[INFO][SBSRender]Results from graph "pkg://Rocky_Ground" into package "C:/test/substance-benchmark/Rocky_Ground_v11.1.2.sbsar" :
[INFO][SBSRender]  Output "basecolor" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_basecolor.png".
[INFO][SBSRender]  Output "normal" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_normal.png".
[INFO][SBSRender]  Output "roughness" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_roughness.png".
[INFO][SBSRender]  Output "metallic" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_metallic.png".
[INFO][SBSRender]  Output "height" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_height.png".
[INFO][SBSRender]  Output "output" saved to "C:/test/substance-benchmark/Rocky_Ground_v11_Rocky_Ground_output.png".

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 11
Milliseconds      : 437
Ticks             : 114374725
TotalDays         : 0,000132378153935185
TotalHours        : 0,00317707569444444
TotalMinutes      : 0,190624541666667
TotalSeconds      : 11,4374725
TotalMilliseconds : 11437,4725

I am not sure if it is related with renderSubstance engine v8 or not when managing the inputs since if no entry is set the
rendering times for both versions are equivalents.

The only difference is the message:
[WARNING][SBSRender]Image input "input" has not been set.

Days              : 0
Hours             : 0
Minutes           : 0
Seconds           : 7
Milliseconds      : 180
Ticks             : 71801808
TotalDays         : 8,31039444444444E-05
TotalHours        : 0,00199449466666667
TotalMinutes      : 0,11966968
TotalSeconds      : 7,1801808
TotalMilliseconds : 7180,1808


Could you check when loading or setting an entry image if there is some issues that create a penalty in the performance for rendering? Could be fixed in a patch/minor update?
If you need more information about the environment, please, let me know

Thanks in advance for your attention.
 

Interesting... Let me dig into it and I'll get back to you.

Cheers