convert all texture to .tx format makes the render slower...

Hi,

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.

Thanks!

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.

Are you using Normal maps? In our tests tx’ing those kills render time.

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)

Thanks for the script. I will try to investigate a bit more before packing a scene for you.

Sorry to hijack this thread, but were exactly are these converted .tx files are saved? I couldnt find something like a location in the vray settings

The ones made by our scripts are saved side-by-side with the original files.
The ones which go in the texture cache mentioned above are in RAM.

Ok, thx for clarification

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.

Is there maybe more to keep in mind?

What’s to consider is here:
https://forums.chaosgroup.com/forum/…usage-in-v-ray

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).

Will poke support about it and test it myself!

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).

Best regards,
Vlado

@_Lele
Great, thx.

@vlado
Ok, thx for the clarification. Maybe I will do another test just with vray hdri and jpg.

Was this a an artificial test, or a production scene?

This is a production scene which we are now working on.