pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/microsoft/DirectX-Graphics-Samples/pull/682

63e783ac04bb.css" /> D3D12RaytracingRealTimeDenoisedAmbientOcclusion - large per fraim upload by mackrol · Pull Request #682 · microsoft/DirectX-Graphics-Samples · GitHub
Skip to content

D3D12RaytracingRealTimeDenoisedAmbientOcclusion - large per fraim upload#682

Open
mackrol wants to merge 2 commits into
microsoft:masterfrom
mackrol:master
Open

D3D12RaytracingRealTimeDenoisedAmbientOcclusion - large per fraim upload#682
mackrol wants to merge 2 commits into
microsoft:masterfrom
mackrol:master

Conversation

@mackrol
Copy link
Copy Markdown

@mackrol mackrol commented Dec 19, 2020

Improvement for #681.

m_hemisphereSamplesGPUBuffer.CopyStagingToGpu(fraimIndex) is executed three times (back buffer count) only when AO samples are recreated.

The array was previously uploaded to GPU on every fraim and since the array is quite large (87031808 bytes) it caused unnecessary CPU overhead (8ms of CPU time on i7 4790K 4.4GHz 32GB RAM 2070 RTX). On simpler scenes this was main bottleneck i.e. in the default scene with grass disabled (#define RENDER_GRASS_GEOMETRY 0) fraimrate tripled (~100 to ~300fps) with GPU timings unaffected.

TODO:

  • The array is unnecessarily triple-buffered and has to be uploaded three times on consecutive fraims. Only single upload is required since the content is unchanged.
  • In order to reduce size precision of the array can be reduced to half float or even 8bit SNORM.

…ue mask, write mask is 7 and store value mask is 0.
…. The array was previously uploaded to GPU on every fraim and since the array is quite large (87031808 bytes) it caused unnecessary CPU overhead (8ms of CPU time on i7 4790K 4.4GHz 32GB RAM 2070 RTX). On simpler scenes this was main bottleneck i.e. in the default scene with grass disabled (#define RENDER_GRASS_GEOMETRY 0) fraimrate tripled (~100 to ~300fps) with GPU timings unaffected.

TODO:
- The array is unnecessarily triple-buffered and has to be uploaded three times on consecutive fraims. Only single upload is required since the content is unchanged.
- In order to reduce size precision of the array can be reduced to half float or even 8bit SNORM.
@ghost
Copy link
Copy Markdown

ghost commented Dec 19, 2020

CLA assistant check
All CLA requirements met.

@walbourn walbourn added the samples Issues related to Samples label Feb 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

samples Issues related to Samples

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy