Chad, are you ensuring that all of your textures are MIPmapped and tiled, and that your shaders are computing derivatives properly (i.e., not ending up with 0 derivs that inadvertently force point sampling at the highest-res MIP level)?
We routinely render frames that reference 1TB of texture or more, using a 1GB texture cache. Or is it 512 MB? I can't remember, which underscores that it's such a non-problem that we almost never discuss changing it from one show to another, let alone mid-render! I'm going to go out on a limb and suggest that if you are having memory issues that are making you contemplate exotic changes to the texture cache policies, there may be other options, approaches, or changes to your pipeline that would be much more effective in addressing the root cause. I'd be happy to look at a full Arnold render log output from a troublesome frame, and see if anything stands out. On Feb 19, 2015, at 9:31 AM, Chad Dombrova <[email protected]> wrote: > > It seems to me that if the control was exposed, it should be safe to adjust > it up or down after the ShadingSystem has been created. I'm not sure I'd > advise doing it while buckets are rendering (and thus possibly in the middle > of executing actual texture lookups), but certainly in any pause of activity > (say, between progressive refinement passes or rerenders) should be fine. > > For it to be useful in my case, it would have to be mid-render. Progressive > renders only occur locally/interactively, but my problem is specifically with > batch renders. I assume this would require a momentary texture lock across > all threads. I think that would be a fair trade-off as this would only > happen when Arnold detects that the machine is nearly out of available memory. > > I suppose if this were important, we could rig it so that a downward change > of the limit would immediately trigger a call to the check_max_mem that kicks > tiles out of cache of it's over-budget. > > I think that would be a good addition, but first let's see what Solid Angle > thinks of doing this mid render... > > So, Thiago, what do you think of doing this mid render :) > > If this works well, it might even be possible to disable the max_memory_MB > option and simply allow it to consume as much as it needs. This would be > particularly effective if Arnold consumes most of its required memory near > the beginning of a render, which I think is the case (output buffers, accel > structs, importance maps, geo). > > -chad > -- Larry Gritz [email protected]
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
