Repository navigation
Update recommended upper and lower bounds #50
Description
Activity
16GiB+ is still rare on mobile.
64GiB also still seems rare enough on desktop.I wonder should be have separate limits for mobile (2GiB-8GiB) and desktop (2GiB-32GiB) because of that? Or would that be more confusing/limiting?
However, when this API was first launched, 8GiB was probably as rare on mobile so maybe going to 16 (or even 32) on mobile is no worse off than it was then (and certainly no worse off than 0.25GiB and 0.5GiB is now).
Reacted by Nic JansmaDoes the spec need to enumerate the list of supported values? Could we not just define that the values are powers of 2, with a specified minimum value but no maximum? (and specific implementations could under-report if they find some reason to)
The spec currently doesn't "define" them, but does give recommendations:
An upper bound and a lower bound should be set on the list of values.
NOTE: While implementations may choose different values, the recommended upper bound is 8GiB and the recommended lower bound is 0.25GiB (or 256MiB).
So I guess there's two questions here:
- Should we update/remove those recommendations?
- What should Chromium (the only current implementor) use as max and min? Which kinda depends on 1.
(FYI the Examples section also specifically says "A full list of possible values should be as follows: 0.25, 0.5, 1, 2, 4, 8")
I guess you need some upper/lower bound to merge small population of users together and not enable fingerprinting. Ideally that would come from a dynamic usage stat, but I guess just leaving the spec wording and updating the NOTE periodically, works?
I am planning to update the spec, giving rational and guidance on how the upper and lower bounds should be adjusted/decided as the memory on the device increase over time.
I think we can keep the restriction that the value must be a subset of {0.25 x 2^n} (because it has been there before and there is nothing wrong with it.
Discussed in WebPerfWG on 15th Jan 2026 and agreed to update spec to make this implementor specific.
Will close this with #53
@tomayac could you raise a crbug for the Chrome implementation side now that the spec issues is resolved (or at least agreed and will be updated soon!).
@tomayac could you raise a crbug for the Chrome implementation side now that the spec issues is resolved (or at least agreed and will be updated soon!).
We have https://crbug.com/454354290 already. I just made the bug thread aware of the spec change.
- added a commit that references this issue
on Jan 19, 2026 This change will be included in Chrome 146: https://chromestatus.com/feature/6330376953921536
Set a new set of possible values for the Device Memory API:
- Android: 2, 4, 8
- Others: 2, 4, 8, 16, 32
Replacing the old values of 0.25, 0.5, 1, 2, 4, 8 which have grown outdated.
The spec currently says:
8GiB is the bare minimum for many AI applications, so knowing if a device has actually just 8GiB of RAM or more makes a huge difference. The meaningful values I heard when discussing this with engineering were 16, 32, and 64 GiB.
The current lower bound of 0.25GiB has become a tracking vector in itself. It would likely make sense to adjust to 2GiB as the lower bound as even low-end devices have caught up.