I am using VrayNext,update2 and trying to optimize the render by converting all my texture into .tx format hoping to decrease the render time. Unfortunately the render time didn’t went down and even got slower (around 30%).
In maketx.exe the flags I am using are “maketx -v -u --oiio --checknan --filter lanczos3”, which I copy straight from the arnold user guilde: Help .
Am I missing anything or do I need to activate some setting in order to benefit from using .tx?
In Arnold converting textures to .tx makes a huge difference in render time and RAM usage, I wonder if Vray will have the same effect.
Try and use either the offline converter i provided, or the RMC menu one which comes with max.
Options (just as the maketx.exe) differ a bit (our makeTX uses slightly different defaults), so perhaps you will get a better outcome.
Should it stay similar, it’d be great if you could send a a sample to investigate what might be wrong to support.
In my tests, both memory usage and rendertime went down (in worst cases, the time loss was below 10%, in best cases, it went twice as quick.), while quality was between identical and appreciably better, but there could be specific cases where it’s not so.
Make sure filtering for those maps is active.
As Rado was suggesting, if it was off it’d force the loading of the highest-sized mip level, which could slow down rendering.
This is of course also valid for @jameshon1000 's bitmap loaders (which should also be VrayHDRI loaders, exclusively.).
Filtering is always default, and we always leave the blur value at 1. It’s more about CPU throttling, if we tx Normal maps the CPU usage drops quite a bit.
Dave, that’s gold.
We’ll look into this on our side, but if you had a piece of scene which showed this behaviour, we’d be very glad to receive it (me, support, Vlado. how you please.)!
Unfortunately it isn’t 100% reproducible. When we’ve had throttling in the past, we went back to using tif’s for Normal and Bump maps and that seemed to solve the problem. We haven’t tx’d them since and we’ve never had any issues.
Here’s the offline one.
Your settings look good, should you get more measurable slowdowns, we’d of course be keen on seeing a scene which exhibited it.
p.s.: .tx files will go into the texture cache (last page of the v-ray settings), so ensure it’s set to either big enough, or 0. makeTX_batcher_001.zip (2.42 KB)
I hope it is ok, to write here even though its not 100% topic.
Reading all this .tx stuff here, got me interested, as I never tried this before.
I just ran a test, using a pretty normal scene, converted the textures to .tx and bitmaps to vray hdri, using the vray in-built script and hit render.
I activated memory tracking to compare the results between “normal” jpgs and max bitmap loader and .tx using vray hdri, and memory tracking showed higher memory usage on the .tx scene than on the normal:
normal jpg, 3dsmax bitmap loader
Bitmap
803,49 MiB
Bucket image sampler
260,62 MiB
Dynamic geometry
2,94 GiB
GI
268,95 MiB
Lights
96,90 MiB
Misc.
1,58 GiB
Misc. geometry
< 1 MiB
Static geometry
2,89 GiB
VFB
48,28 MiB
Frame startup
2,39 GiB
Frame total
8,85 GiB
.tx with vray hdri
Bitmap
828,99 MiB
Bucket image sampler
257,43 MiB
Dynamic geometry
2,94 GiB
GI
270,69 MiB
Lights
96,90 MiB
Misc.
1,57 GiB
Misc. geometry
< 1 MiB
Static geometry
2,89 GiB
Tiled bitmap
1,36 GiB
VFB
49,30 MiB
Frame startup
3,78 GiB
Frame total
10,23 GiB
The frame rendering times, were pretty close 1m 17s to 1m 21s.
I then compared ram usage via task manager, and there i got a totally different result. Normal jpg --> 36gb ram and .tx + vray hdri --> 26gb ram. This is really not bad, but I thought that you could save more ram and more render time, because many of our textures are pretty high res.
When all is said and done, however, it’ll be down to the view point, and if it allows for the loading of smaller atlases, rather than bigger ones.
Try it on a scene which has far away, yet detailed, environments, and the difference may be bigger.
If the subject’s close to the camera, then perhaps the savings will be smaller.
Ok, I’ve read the guide regarding tiled textures. I then changed all bitmaps back to blur 1.0, cause I got many which got a lower value, and this would load the higher res versions of the texture when I got the guide right.
Strangely the ram usage has gone up to 36gb just like the non optimized version and rendering time also hasnt changed.
The scene I’m using got pretty much assets with “highres” textures, which got quite a distance to the camera.
That particular scene I’m testing here, is the same I’ve sent to chaosgroup regarding the “network proxy render error”. Maybe if you want you could take a look at it (in this version I havent touched the maps, all 3ds bitmaps and jpgs/tifs/pngs).
We do not track the memory usage for the 3ds Max Bitmap textures - those are created by 3ds Max so the memory usage that we are showing in that case *excludes* the bitmap memory. You could compare VRayHDRI with JPG and with .tx files instead - those are both handled by V-Ray. Or you could compare the “Commit size” memory for 3dsmax.exe in the task manager (but be sure to restart 3ds Max between the tests to make sure the 3ds Max Bitmaps are not staying in memory).