Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by ina · Dec 19, 2012 at 09:27 PM · androidiosdpi

Screens.dpi different than manufacturer number

Android Screen.dpi value seems off by a few pixels than manufacturer's officially reported dpi... Where is Unity getting this value from?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by soxjke · Dec 19, 2012 at 10:36 PM

Actually, vertical and horizontal dpi on much screens are different values...Unity gets either vert or horiz or average dpi. For much applications it doesn't matter: they differ a little. If you really need PRECISE dpi, you have to hardcode it. For example my GalaxyS smartphone has parameters: Screen res: 480x800, 4inch disp. Manufacturer says 233 dpi. Looks like its average : sqrt(480*480 + 800 * 800)=233,3... Unity gives 235 dpi. My iPhone 4S : Screen res 640x960, 3.5inch disp. Manufacturer says 330, calculation gives: sort(960*960 + 640*640) = 329.65.. Unity gives 320 dpi. So, mistake is ignorable.

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image ina · Dec 20, 2012 at 05:46 AM 0
Share

That's the thing, how does Unity get 236 from 233,3? How is unity calculating the dpi?

avatar image soxjke · Dec 20, 2012 at 08:28 AM 0
Share

I think, no calculation is performed. It can take either vertical or horizontal for Android.. check (This is Java code, not Unity script!):

 Display$$anonymous$$etrics dm = new Display$$anonymous$$etrics();
 getWindow$$anonymous$$anager().getDefaultDisplay().get$$anonymous$$etrics(dm);
 
 // these will return the actual dpi horizontally and vertically
 float xDpi = dm.xdpi;
 float yDpi = dm.ydpi;

I am sure, u will get one of this values in Unity. Try, if u want, but i still don't understand, why do u need so precise dpi calculation. $$anonymous$$uch android apps use Display$$anonymous$$etrics.densityDpi * 160 which results in 80, 160, 240, 320, 480 dpi - which gives exactly greater mistake. $$anonymous$$aybe unity does (xdpi +ydpi) / 2. Still can't believe such precision is important.

avatar image ina · Dec 20, 2012 at 09:05 AM 0
Share

need the exact dpis for pixel-perfect render

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

10 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Resolution independence 0 Answers

How do I access CoreMotion and the Android equivalent? 0 Answers

C++ windows DLL and Android? 1 Answer

I'm looking for help with enemy AI scripting and animations. 1 Answer

iOS and Android Publishing 2 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges