tag:blogger.com,1999:blog-6950833531562942289.post9131737029367714895..comments2024-03-25T03:36:48.099-07:00Comments on C0DE517E: Which future? (plus, a shader optimization tip)DEADC0DEhttp://www.blogger.com/profile/01477408942876127202noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-6950833531562942289.post-24699572387494974062008-12-11T04:13:00.000-08:002008-12-11T04:13:00.000-08:00My uneducated guess:Somewhat more of the same, but...My uneducated guess:<BR/>Somewhat more of the same, but with improvements on memory-bandwidth. <BR/>- Larger caches<BR/>- single-cycle copy of vtx-attrib onto varyings. <BR/>- maybe tiles, to do more tri-setups than the current 1-per-cycle. <BR/>- more aggressive z-culling, keep the depth-buffer in cache, reduce units back from 3x3 to 2x2; facilitate fast rough occlusion queries<BR/>- introduce StaticMesh objects, that contain VB/shader/texture/OBB binds - and do rough occlusion-culling with the OBB before any vb/sh/tex setup and rasterizing. <BR/>- let textures in textureArrays have different sizes and formats.Anonymoushttps://www.blogger.com/profile/07457550416966366238noreply@blogger.comtag:blogger.com,1999:blog-6950833531562942289.post-48605087688065667112008-12-10T00:59:00.000-08:002008-12-10T00:59:00.000-08:00future graphics generations. I agree that the next...future graphics generations. I agree that the next step is algorithmic - realtime GI isn't about more flops, it's about directing the flops we've got to the right buckets. Surfels are just the beginning, and Surfels don't care whether they're rasterized or raytraced. It's all about the visibility form factor and the cosine term.Robin Greenhttps://www.blogger.com/profile/03979880670929952057noreply@blogger.comtag:blogger.com,1999:blog-6950833531562942289.post-74689503202975363532008-12-08T18:44:00.000-08:002008-12-08T18:44:00.000-08:00lod: Reordering is unpredictable on PC as the fina...lod: Reordering is unpredictable on PC as the final shader depends on the driver and the graphics card. On consoles on the other hand is not.<BR/>I don't really understand your comment on vectorization. What do you mean? Properly arranging operations into vectors is a good practice, and also hardware vendors recommend it.DEADC0DEhttps://www.blogger.com/profile/01477408942876127202noreply@blogger.comtag:blogger.com,1999:blog-6950833531562942289.post-8875725802281506682008-12-08T14:50:00.000-08:002008-12-08T14:50:00.000-08:00It is my experience, at least with ATI hardware/dr...It is my experience, at least with ATI hardware/drivers, that premature optimization at the shader level has no or negative performance impact. It is even worth trying to turn off fxc optimizations and examining registers used, alu:tex ratios, etc using something like GPUShaderAnalyzer. I would definitely recommend that you never try to vectorize yourself in the shader. <BR/><BR/>But I have heard of getting better compiled shaders by rearranging instructions on other hardware/drivers.Anonymousnoreply@blogger.com