none
90MB certification requirement - how does MS define 1MB? RRS feed

  • Question

  • Is the 90MB requirement 90000000 bytes or 94371840 bytes (90*1024^2)? And yes I am that close to the edge :)
    Tuesday, October 18, 2011 6:20 AM

Answers

  • Hi,
    As found in the MSDN content here :

    "An application must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory."

    Note the reference to 256MB.  As mentioned by Konaju Games, RAM megabytes are counted in old school MB which is 2^20 bytes; so the reference to 90MB must also be using the same convention in order to be consistent.

    Hope this helps,
    Mark

     

    Tuesday, October 18, 2011 3:19 PM

All replies

  • 1,000,000 bytes is often used by HDD manufacturers for marketing purposes.  The limit as defined by the certification would be real MB, because there are no marketing pressures here to have artificially high storage numbers.
    Tuesday, October 18, 2011 6:53 AM
  • I would try and push it under the lower one if you can. Or maybe email support and see exactly what the byte value is.

    Technically 90MB is 90000000 bytes, while 90MiB is 94371840 bytes. The drive manufacturers actually get it right while most disk drive tools report kilobytes as 1024 bytes, instead of 1000 (which it actually is). Although RAM/Memory always seems to go by the power of two rather than the actual, so maybe you're ok... 

    It's all kinds of retarded.

    If you're that close to the edge I'd either try to email and get some clarification from support, or try and push it under to avoid being rejected.
    Tuesday, October 18, 2011 1:27 PM
  • Technically 90MB is 90000000 bytes, while 90MiB is 94371840 bytes
    Depends who you ask and whether that person is old-school or not.  Personally I had never seen or heard of "MiB" until recently and just thought it was people getting "MB" wrong or was a foreign spelling of it.  RAM has always been counted in real MB, i.e. 220 or 1048576.

    I see now that MiB is a recent (invented in 1998, established in 2000) creation intended to replace MB and revise MB to mean 106Wikipedia gets it right when it says "Mebibyte is not commonly used".  I think it's silly.  A MB is a MB and always will be a MB.
    Tuesday, October 18, 2011 2:11 PM
  • Hi,
    As found in the MSDN content here :

    "An application must not exceed 90 MB of RAM usage, except on devices that have more than 256 MB of memory."

    Note the reference to 256MB.  As mentioned by Konaju Games, RAM megabytes are counted in old school MB which is 2^20 bytes; so the reference to 90MB must also be using the same convention in order to be consistent.

    Hope this helps,
    Mark

     

    Tuesday, October 18, 2011 3:19 PM
  • Since the measurement is going to be hardware agnostic the upper limit will be a power of 2 (after all we are all developers, eh?) as seems to be the consensus in the replies. Also, as suggested by others, please do drop a note to seek clarification via email and share the response with us. Thx.
    Tuesday, October 18, 2011 3:31 PM
  • Where do I submit certification requirement questions to?
    Tuesday, October 18, 2011 9:26 PM
  • Given that Mark Chamberlain has already answered the question, there's not much point submitting a question.  But if you felt the need to get Mark's answer again, see the Need Help link at the bottom of this page.
    Wednesday, October 19, 2011 12:01 AM
  • Oh I didn't notice Mark is from Microsoft. I'll mark that post as the answer and call it a day. Thanks everyone!
    Wednesday, October 19, 2011 1:20 AM
  • If you are worried about going above 90Mb in ram ( Are you on about ram or XAP size, cos if its xap size then 90mb is not the limit).  and you have tried EVERYTHING to get it under a cheap win to get the app past certification is to check if the phone has > 256Mb of ram before running.

    THis will pass certification and almost all phones have 512mb of ram.  (but I dont know about the new small ones due in 2012).
    Wednesday, October 19, 2011 3:53 PM
  • Technically 90MB is 90000000 bytes, while 90MiB is 94371840 bytes
    Depends who you ask and whether that person is old-school or not.  Personally I had never seen or heard of "MiB" until recently and just thought it was people getting "MB" wrong or was a foreign spelling of it.  RAM has always been counted in real MB, i.e. 220 or 1048576.

    I see now that MiB is a recent (invented in 1998, established in 2000) creation intended to replace MB and revise MB to mean 106Wikipedia gets it right when it says "Mebibyte is not commonly used".  I think it's silly.  A MB is a MB and always will be a MB.


    I realized afterwards that I was probably being overly nitpicky, and Mark gave a pretty good clarification so that's all good.

    I don't think there's anyone who thinks MiB is a good idea. Yeah so maybe Mega technically means 1,000,000 and not 10^6 2^20, but who cares? We seemed to do just fine for decades until someone decided it was a problem.

    Edit: I think it's time to go home for the day...
    Wednesday, October 19, 2011 10:00 PM
  • If you are worried about going above 90Mb in ram ( Are you on about ram or XAP size, cos if its xap size then 90mb is not the limit).  and you have tried EVERYTHING to get it under a cheap win to get the app past certification is to check if the phone has > 256Mb of ram before running.

    THis will pass certification and almost all phones have 512mb of ram.  (but I dont know about the new small ones due in 2012).


    Yes, but doesn't the application actually have to perform correctly with 90MB? You can just put a check in the app and say can't run because the system doesn't have above 256MB? I think there is a MS requirement that the application has to be functional and do something real.
    Friday, October 21, 2011 5:16 AM
  • No, my XAP file is 25-30MB.
    Friday, October 21, 2011 5:21 AM
  • Yes, but doesn't the application actually have to perform correctly with 90MB?
    Yes, it has to work correctly on the Dell Venue Pro, apparently the only device out there with 256MB (despite what Dell said to the contrary).  There may be more devices with 256MB with the low-spec Tango chassis due next year.  Application Certification Requirement 5.2.5
    Friday, October 21, 2011 5:31 AM