V-Ray 2.0: VRayHDRI vs Bitmap texture and the bitmap pager

If you were wondering why VRayHDRI now allows you to load other image file formats like JPG, PNG etc, here is a part of the explanation.

Below is a scene that was rendered on a dual Intel Xeon 5660 machine (2x6 physical cores; 24 logical cores). I rendered it once with the standard 3ds Max Bitmap texture. Then I rendered it again with the textures converted to VRayHDRI (but without converting the files to tiled OpenEXR files - just using the original bitmap files).

Can you find the differences :slight_smile:

Best regards,
Vlado

After some more tests, the slowdown for the Bitmap texture appears to be caused by the bitmap pager being enabled (which it is by default).


About 6 minutes, but why?

Waiting for third pic with tiled exr :slight_smile:

It rendered for about 3m 30s.

Best regards,
Vlado

If you mean why the Bitmap texture is so much slower, I don’t know. I installed the service pack for 3ds Max 2011 and the new hot fix 4 before testing too. In any case, it is an issue that has been bothering me for quite some time. As we can’t really fix the standard 3ds max Bitmap texture, we extended VRayHDRI instead.

The slowdown for the Bitmap texture seems caused by the bitmap pager; when it is disabled, the scene renders much faster. Then again, VRayHDRI also supports texture loading on demand, without the slowdown.

Best regards,
Vlado

Wow that is impressive.
Do you think there will be the same difference in older versions of max?

Good question; will have to install older versions to compare.

Best regards,
Vlado

Hey we have a new benchmark scene :slight_smile: can you post the scene?

No, unfortunately I cannot. It is from the Evermotion Archmodels’09 collection. But I guess one of our artists can probably re-create something similar…

Best regards,
Vlado

I don’t understand, does this mean we want to nest all of our bitmaps in VRayHDRI maps?

Well, you don’t have to, but you might get faster renders if you do. The Bitmap texture still produces correct results and I don’t think the difference is that drastic on machines with fewer cores (although some tests would be good to do).

Best regards,
Vlado

This looks like a big step forward. So Vlado are you saying VRayHDRI uses more cores compared to original bitmap texture. Where does that difference comes from, from filtering or how it’s accessed on HD? So basically if I understood it right VRayHDRI won’t be loaded to max memory, it will be called once vray starts to render? If that’s true, it means we can’t see it in viewport?

From the bitmap pager, it seems…

Best regards,
Vlado

Thanks for the info Vlado. I don’t know why they enabled Bitmap pages by default it just doesn’t make sense if it’s slowing down everything. So VRayHDR is loaded in memory only when VRay needs it or does it stay in RAM all the time like Max does?

V-Ray will only load the map when it is needed (e.g. when a ray hits a material that needs the texture). There is an option whether to unload the maps at the end of the rendering, or to keep them (by default it is to keep them).

Additionally, when you use tiled OpenEXR files, V-Ray will only load the tiles that are needed for the image, rather than the entire file, which further reduces the memory usage. You can also specify the size of the cache pool for the tiles. This enables the rendering of scenes that contain very large and/or lots of textures.

Best regards,
Vlado

Someone needs to write a script to convert max bitmap loader to vrayHDRI loaders… anyone??

Right-click in a viewport > VRay Bitmap to VRayHDRI converter…

Best regards,
Vlado

Far too easy vlado :slight_smile:

Hehe. In any case, be careful with this script. Would be good to save a copy of the original scene with the Bitmap textures just in case.

Best regards,
Vlado

The new capabilities of the vrayhdri loader sound great with regard to opening it up to other file formats. But why not just add another map called “vraybitmap”? I’m just looking at it in a clarity of naming type of way. Naming things for what they do. I think there is potential for people to overlook this important update.

Just curious

V Miller