gpt4 book ai didi

android - 如何测量 Android 上的 VRAM 消耗?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:29 32 4
gpt4 key购买 nike

我想获取‖Android 设备 VRAM 大小。

有没有从程序中获取的方法?

最佳答案

让我们使用 Nexus One 进行一些计算:

屏幕分辨率为 480x800。因此所需的最小视频内存大小为:
400 * 800 * 4 字节 = 1536000 字节

假设驱动程序可能(并且通常应该)使用多个缓冲区,我们还应该期望如下值:

1536000 * 2 字节 = 3072000 字节
1536000 * 3 字节 = 4608000 字节
等...

如果值不是 1536000(或一般情况下 W x H x 4)的倍数,那就很奇怪了。


在对 Android 内部进行一些搜索后,我找到了这个 documentation :

...Android makes two requirements of the driver: a linear address space of mappable memory that it can write to directly...accessing the driver by calling open on /dev/fb0...

所以我尝试获取 /dev/graphics/fb0 文件的大小(在我的设备上没有 /dev/fb0)。

但是直接的方法是行不通的:

 File file = new File("/dev/graphics/fb0");
file.length(); // ==0, doesn't work, no read access

使用下一个技巧,您可以获得 fb0 的实际大小:
>adb pull/dev/graphics/fb0
1659 KB/s(4608000 字节在 2.712 秒内)

显存约为 4mb (Nexus One)。让我们检查一下这是否是 Nexus 屏幕尺寸的倍数:

4608000/1536000 = 3

它看起来像一个正确的值。我们也可以说驱动程序使用了三个 屏幕缓冲区。


因此,作为结论,您可以使用 adb 检测显存大小,但由于文件访问限制,您无法在运行时从 android 应用程序中使用此方法。

关于android - 如何测量 Android 上的 VRAM 消耗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3154632/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com