- Home /
How to enable Anti Aliasing on Android devices
Hi guys. The problem I am facing is that at the intersection of 2 planes there is like a staricase of pixels. Normally AA would fix this, however enabling AA in the quality setting didn't fix this issue. The strange this is that when I run the game in the editor, AA is enabled. The devices I tested the game on are HTC One S and Nexus 7(2012). Here is a screenshot showing the problem: http://funkyimg.com/i/Exkq.png
Deos anyone know a solution to this problem?
Seems that many are having issues with AA on android with Unity 4.3.x. It works fine on 4.2.
I have a similar question here:
http://answers.unity3d.com/questions/606847/android-anti-aliasing-broken-with-unity-430-432-bu.html
Thanks a lot. I guess I'll just continue my project and wait for a new update that will fix the issue
Unity have responded to a bug report and have reproduced this issue and are assigning it to a dev now - so this should be resolved soon (I assume).
You may want to vote on this bug to help get this fixed quicker: http://issuetracker.unity3d.com/issues/anti-aliasing-does-not-work-on-android-devices
Answer by larku · May 29, 2014 at 05:22 AM
An update on this issue. Unity provided this response:
Our developer has investigated this issue and came to the following conclusion:
"This issue is device specific. That particular device/gpu mali 400 doesn't support anti aliasing when using a 24bit frame buffer. And as of Unity 4.3 we use a non-alpha enabled frame buffer by default since the android hw compositor has problems handling direct frame buffers with alpha."
So this issue will not be fixed. *
*emphasis mine.
This is a very disappointing outcome and a significant show stopper for using Unity for Android development.
I think Unity should not ignore this issue and look for a better solution than 'no AA'. No AA maybe acceptable on high density screens, it is absolutely necessary for lower density screens (think tablets). My current game looks beautiful with AA and absolutely awful without.
If this issue effects you, please be vocal to Unity as we need to raise the priority on this issue.
Can you choose a 32-bit RGBA frame buffer for these $$anonymous$$ali 400 GPUs? If you can does that solve the AA problem?
Hey Graham, thanks for your comment - but how would I do that?
It's in the build settings. Under "Resolution and presentation". There's a tick box for 32bit frame buffer.
Ah yes! it's labelled "Display Buffer" (I didn't realise these were interchangeable terms :) ).
It's actually the opposite. If I check "Use 32-bit display buffer" then I get no AA. If I uncheck it I get AA (awesome) but now I have colour banding. So it seems I get to choose between the two evils, AA with colour banding or no AA with nice gradients.
No AA and color. At least that's how i would go. And perhaps add an options button or a check in your code, that would enable AA if the GPU is not a mali one.