Path: chuka.playstation.co.uk!news From: "Craig Graham" Newsgroups: scee.yaroze.programming.2d_graphics Subject: Re: Caches Date: 17 Aug 1998 16:01:18 GMT Organization: PlayStation Net Yaroze (SCEE) Lines: 52 Message-ID: <01bdc9f7$97492420$230b0a0a@Angela1.intelligent-group.com> References: <35C81A30.4ACB@club-internet.fr> <35C82DDB.3E12E37C@scee.sony.co.uk> <01bdc061$2c186980$f30b0a0a@Angela1.intelligent-group.com> <35D2E01D.5CA1@mdx.ac.uk> <6r0vps$n7i6@chuka.playstation.co.uk> <35D43404.282A@mdx.ac.uk> <35D438D2.908C3316@ndirect.co.uk> <35D43F08.36BA@mdx.ac.uk> <35D44CBE.1FA95769@ndirect.co.uk> <35D46843.5DF5@mdx.ac.uk> <35D4750C.A4613436@ndirect.co.uk> <35D47AA8.4E80@mdx.ac.uk> <35D48242.CC86BE26@ndirect.co.uk> <35d51fb9.8182565@news.scea.sony.com> <35D84FAA.43FDFA48@ndirect.co.uk> NNTP-Posting-Host: 194.131.235.3 X-Newsreader: Microsoft Internet News 4.70.1155 Alex Herbert wrote in article <35D84FAA.43FDFA48@ndirect.co.uk>... > OK, here's what I'm thinking here. That's a very large texture, so without sub-division the > GPU cache will miss big time. With 8x8 sub-division, the texture will be broken into 32x32 > pixel chunks which will fit nicely into the GPU cache. Good point, you'd get load's of cache thrashing on a poly with a big texture. > So, I'm suggesting that the GPU draw time is significantly less when each chunk of the > sub-divided texture fits in the cache, outweighing the CPU overheads of packet creation and the > sub-division itself. It's only useful in a minority of cases though, as in most cases you tend to run out of GTE/CPU time before you run out of GPU time (you can display more poly's than you can calculate). > If I'm right, then it would seem that it is better to subdivide polygons with large textures. > But, you'd need to pay attention to the balance of CPU to GPU time. If the CPU time is already > overrunning the GPU time, sub-division will have a negative impact on performance. However, if > the GPU time is exceeding the CPU time, then why not cash in some of that CPU time and give it > to the GPU by sub-dividing? You can easily get the balance right using a bit of profiling code. Arse. No you cann't (no DrawSyncCallback() in the Yaroze libs). Bugger... Instead (just for profiling), you could (say, every odd frame), sit on DrawSync() immediately after GsDrawOt() to profile the GPU load, and on every even frame time the sort instead.. > Does anyone agree with me on this? Yep. > Herbs Craig.