KroMignon / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 1 forks source link

D3D11: Don't use staging buffer for dynamic streaming buffers #912

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Currently, we buffers with usage "DYNAMIC_DRAW" use a staging buffer in D3D11 
to store dynamic data. Iur current design has a weakness of copying way too 
much data from the staging texture unnecessarily: for small updates, we can 
copy the entire staging texture.

At one point we had a design which uses a CPU-side cache (see 
https://chromium-review.googlesource.com/213813). We reverted this for a 
simpler, more robust fix, but we can fix the performance by using a similar CPU 
dynamic data cache instead of a D3D11 staging buffer.

Original issue reported on code.google.com by jmad...@chromium.org on 11 Feb 2015 at 9:26

GoogleCodeExporter commented 9 years ago
Note: I should also make a performance test for this.

Original comment by jmad...@chromium.org on 11 Feb 2015 at 9:27

GoogleCodeExporter commented 9 years ago
Fixed in https://chromium-review.googlesource.com/#/c/249183/.

Existing perf tests cover the regression.

Original comment by jmad...@chromium.org on 24 Feb 2015 at 10:03