Good time of the day, members of the forum!
I do not think that many have tried themselves in the development under
Hololens, but nevertheless decided to write. In any case, all work with
Hololens is reduced to UWP and DirectX 11. So I wrote a small prototype
for easy initialization of primitives, etc. In the scene, and began testing
on the piece of iron ... And I was very upset by the performance tests.
A short excursion, for those who are not in the subject: - the construction
of an image under Hololens, naturally a stereo image for this reason I use
DrawInstanced with pre-prepared shaders. Shaders are very simple, conversion
to world coordinates and projection of the species, color is set straight in
the shader. Plus to switch the render in 2D Texture Arrays I use the geometry
shader, that's basically all. For the test, I generated a grid of 10k - 30k and output them about 10
times ... for 10k grid and 10 calls - 30fps, for the last about 18 - 20fps.
Sadness, I thought, and I decided that my hands are not growing in size and
my brain does not want to work anymore ...
I decided to look for flaws in my shit ... I measured the time for drawing
10 calls - about 800 ticks, it's kind of not that bad. Slightly optimized the
sorting by materials, namely, switching between shaders minimized but in the
loop there were updates of constant values for the shader namely transform for
each object. Fps grew by 2-3 but the time to render the frame did not measure ...
Although Unity seems to hold the bar 1.2 - 1.3 mm triangles at 10-15 fps ...
I myself did not check the word for people.
So, maybe someone can decide what can be crooked and what can be patched up ...
P.S. The buffer of depth is 16 bit, and I use similar indices. Thank you in advance.
↧