17.08.2015 Views

Fast mobile shaders or rather Mobile! Fast!

Fast mobile shaders - Unity Technologies Blog

Fast mobile shaders - Unity Technologies Blog

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

It’s very hard (i.e. practically impossible) to get GPU timing f<strong>or</strong> a draw call on TBDR, makingprofiling hard. Often easier to profile on Tegra <strong>or</strong> Adreno.Tiled Deferred Caveats••Scene splitsM<strong>or</strong>e transist<strong>or</strong>s f<strong>or</strong> smarts• Less “raw power”•No GPU time per draw call• Easier to profile on non-TBDR: Tegra <strong>or</strong>AdrenoSo it seems that TBDR architecture is all awesome, but of course it has some drawbacks aswell.If vertex data per frame (number of vertices * st<strong>or</strong>age required after vertex shader) exceedsthe internal buffers allocated by the driver, the scene has to be “split” which costsperf<strong>or</strong>mance. The driver might allocate a larger buffer after this point, <strong>or</strong> you might need t<strong>or</strong>educe your vertex count. We ran into this on iPad2 (iOS 4.3) at around 100 thousand verticeswith quite complex <strong>shaders</strong>.TBDR needs m<strong>or</strong>e transist<strong>or</strong>s allocated f<strong>or</strong> the tiling & deferred parts, leaving conceptuallyless transist<strong>or</strong>s f<strong>or</strong> “raw perf<strong>or</strong>mance”.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!