Re: Texture mip streaming prioritization
Sebastian Sylvan <[email protected]> Mon, 22 Jul 2013 19:24:59 -0700
| Newsgroups | gmane.games.devel.algorithms |
|---|---|
| Message-ID | <CAGZgfT6AkrqJuJvtOH3v2O1s3g1aM74ERSKb+7EC=ZOheaeMUg@mail.gmail.com> |
--===============5035803942813639282== Content-Type: multipart/alternative; boundary=089e013d1814ea29ef04e2247f80 --089e013d1814ea29ef04e2247f80 Content-Type: text/plain; charset=ISO-8859-1 On Mon, Jul 22, 2013 at 5:21 PM, Josh Green <[email protected]> wrote: > > Unfortunately the above algorithm looks like it'd be very serial, and > involve a bunch of sorts... But I think it might acheive good results? > Seems reasonable. You should of course try to keep your texture requests in a priority queue instead of re-sorting in each iteration, and use "adjust key"/"decrease key" whenever you decide to drop a MIP level for a key. There are heap implementation where this operation is O(1) (e.g. Fibonacci heap), so it's at least possible to be efficient (in practice, depending on the number of textures, a straight binary heap a la STL may be faster due to being less complicated). Seb -- Sebastian Sylvan --089e013d1814ea29ef04e2247f80 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><br><br></div><div class=3D"gma= il_quote">On Mon, Jul 22, 2013 at 5:21 PM, Josh Green <span dir=3D"ltr"><= ;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</= a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;padding= -left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-l= eft-style:solid"><div dir=3D"ltr"><div class=3D"gmail_extra"><br>Unfortunat= ely the above algorithm looks like it'd be very serial, and involve a b= unch of sorts... But I think it might acheive good results?<br> </div></div></blockquote><div>=A0</div><div>Seems reasonable. You should of= course try to keep your texture requests in a priority queue instead of re= -sorting in each iteration, and use "adjust key"/"decrease k= ey"=A0whenever you decide to drop a MIP level for a key. There are hea= p implementation where this operation is O(1) (e.g. Fibonacci heap), so it&= #39;s at least possible to be efficient (in practice, depending on the numb= er of textures, a straight binary heap a la STL may be faster due to being = less complicated).</div> <div>=A0</div></div><div>=A0</div><div class=3D"gmail_extra">Seb</div><div = class=3D"gmail_extra"><br>-- <br>Sebastian Sylvan </div></div> --089e013d1814ea29ef04e2247f80-- --===============5035803942813639282== 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 --===============5035803942813639282== 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 --===============5035803942813639282==--