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">&lt=
;<a href=3D"mailto:[email protected]" target=3D"_blank">[email protected]</=
a>&gt;</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&#39;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 &quot;adjust key&quot;/&quot;decrease k=
ey&quot;=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==--