Re: [Algorithms] Texture mip streaming prioritization
Brought to you by:
vexxed72
From: Manuel M. <m.m...@wa...> - 2013-07-22 08:12:18
|
Hi Josh, > I'm currently working on a texture streaming system and looking into ways > to prioritize which mips on which textures should be loaded. > I was hoping that people on this list may have experience with these > algorithms that they could share? > > Currently I know which mips need to be loaded in order to render a scene > without degradation in image quality. > I would now like to apply a memory budget to textures, and make decisions > about which mips of which textures should be loaded over others. > > My current line of thinking involves comparing cost / benefit of loading > each individual mip. > i.e. > > How many pixels would be affected by a particular mip level being loaded > versus how much memory would that mip level use? > > This becomes Priority = Benefit / Cost > > I'd then sort for highest priority and assign memory budget to those mips > at the top of the list. > > Any thoughts? comments? Alternatives that work better? Alternatives that > have worked enough? > > Problems that arise with the above algorithm are quite broad, and in > particular, optimising the tipping point between cost and benifit would be > necessary. Also, calculating the number of pixels affected would involve > crude calculations that aren't really going to affect real world values.... I think it might boil down to the question if it is possible to implement efficient histograms on the GPU (e.g. via http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.70.40), keyed on mip-map level and texture ID. Doing a low-res histogram pass should give you a very good indication on the number of affected pixels. cheers, Manuel |