Re: Texture mip streaming prioritization
Krzysztof Narkowicz <[email protected]> Mon, 22 Jul 2013 23:26:27 +0200
| Newsgroups | gmane.games.devel.algorithms |
|---|---|
| Message-ID | <CAMcWT_h_UBDmxf-HGoH_ah1Nhcpa587JazA9LngUssG10tOowA@mail.gmail.com> |
--===============3823170987956153519== Content-Type: multipart/alternative; boundary=089e013cc63e47fa6004e2205493 --089e013cc63e47fa6004e2205493 Content-Type: text/plain; charset=ISO-8859-1 Hi, A good solution would be just to precompute some data. For example camera is at point X - what should I load. Alternatively - object X is Y meters from camera - what should I load. Without precomputation it's hard to know what will be needed in nearest time. Current frame usually doesn't contain enough information. BTW isn't loading single mip-maps too fine grained, at least from seek time perspective? Most popular solutions are based on two states - ~64x64 thumb / full texture. -- Krzysztof Narkowicz On Mon, Jul 22, 2013 at 9:16 AM, Josh Green <[email protected]> wrote: > Hi There, > > 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.... > > Thanks all for your thoughts! > > Josh > > > ------------------------------------------------------------------------------ > See everything from the browser to the database with AppDynamics > Get end-to-end visibility with application monitoring from AppDynamics > Isolate bottlenecks and diagnose root cause in seconds. > Start your free trial of AppDynamics Pro today! > http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk > _______________________________________________ > GDAlgorithms-list mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list > --089e013cc63e47fa6004e2205493 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi,<div><br></div><div>A good solution would be just to pr= ecompute some data. For example camera is at point X - what should I load. = Alternatively - object X is Y meters from camera - what should I load. With= out precomputation it's hard to know what will be needed in nearest tim= e. Current frame usually doesn't contain enough information.</div> <div><br></div><div>BTW isn't loading single mip-maps too fine grained,= at least from seek time perspective? Most popular solutions are based on t= wo states - ~64x64 thumb / full texture.</div><div><br></div><div>--=A0</di= v> <div>Krzysztof Narkowicz</div></div><div class=3D"gmail_extra"><br><br><div= class=3D"gmail_quote">On Mon, Jul 22, 2013 at 9:16 AM, Josh Green <span di= r=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_blank">inbill= [email protected]</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div dir=3D"ltr">Hi There,<br><br>I'm cu= rrently working on a texture streaming system and looking into ways to prio= ritize which mips on which textures should be loaded.<div> I was hoping that people on this list may have experience with these algori= thms that they could share?<br> <br>Currently I know which mips need to be loaded in order to render a scen= e without degradation in image quality.<br>I would now like to apply a memo= ry budget to textures, and make decisions about which mips of which texture= s should be loaded over others.=A0<br> <br>My current line of thinking involves comparing cost / benefit of loadin= g each individual mip.<br>i.e.<br><br>How many pixels would be affected by = a particular mip level being loaded versus how much memory would that mip l= evel use?<br> <br>This becomes Priority =3D Benefit / Cost<br><br>I'd then sort for h= ighest priority and assign memory budget to those mips at the top of the li= st.<br><br>Any thoughts? comments? Alternatives that work better? Alternati= ves that have worked enough?</div> <div><br></div><div>Problems that arise with the above algorithm are quite = broad, and in particular, optimising the tipping point between cost and ben= ifit would be necessary. Also, calculating the number of pixels affected wo= uld involve crude calculations that aren't really going to affect real = world values....<br> <br>Thanks all for your thoughts!<span class=3D"HOEnZb"><font color=3D"#888= 888"><br><br>Josh</font></span></div></div> <br>-----------------------------------------------------------------------= -------<br> See everything from the browser to the database with AppDynamics<br> Get end-to-end visibility with application monitoring from AppDynamics<br> Isolate bottlenecks and diagnose root cause in seconds.<br> Start your free trial of AppDynamics Pro today!<br> <a href=3D"http://pubads.g.doubleclick.net/gampad/clk?id=3D48808831&iu= =3D/4140/ostg.clktrk" target=3D"_blank">http://pubads.g.doubleclick.net/gam= pad/clk?id=3D48808831&iu=3D/4140/ostg.clktrk</a><br>___________________= ____________________________<br> GDAlgorithms-list mailing list<br> <a href=3D"mailto:[email protected]">GDAlgorithms-lis= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list" = target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/gdalgorithms= -list</a><br> Archives:<br> <a href=3D"http://sourceforge.net/mailarchive/forum.php?forum_name=3Dgdalgo= rithms-list" target=3D"_blank">http://sourceforge.net/mailarchive/forum.php= ?forum_name=3Dgdalgorithms-list</a><br></blockquote></div><br></div> --089e013cc63e47fa6004e2205493-- --===============3823170987956153519== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk --===============3823170987956153519== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ GDAlgorithms-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list --===============3823170987956153519==--