<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Nov 12, 2019 at 2:40 AM Philip Rebohle <<a href="mailto:philip.rebohle@tu-dortmund.de">philip.rebohle@tu-dortmund.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Moving this out of d3d12_desc also helps make copying and<br>
traversing descriptor arrays more CPU cache-friendly.<br></blockquote><div><br></div><div>Making descriptors smaller would help, but the most likely cause of a cache miss is accessing two objects located far apart in memory. Reading data from a descriptor and then other data via a view pointer creates this situation. I made a new version of the cache coherence patch which eliminates use of vkd3d_view for CBV, SRV and UAV descriptors and only stores a refcount on the heap, but haven't sent it because it conflicts with a pending patch. It only gains 0.5% fps, so if new implementations need an expanded  view struct instead then that takes precedence. CPU caching is worth taking into account though.</div><div><br></div><div>Conor<br></div></div></div>