gpt4 book ai didi

Android:为什么快照和gpu是互斥的?

转载 作者:IT老高 更新时间:2023-10-28 21:52:41 27 4
gpt4 key购买 nike

我尝试对模拟器使用快照和 gpu 支持。但是模拟器拒绝启动:

emulator: ERROR: Snapshots and gpu are mutually exclusive at this point. Please turn one of them off, and restart the emulator.

我想知道这些限制的原因是什么?在我看来,这不是合乎逻辑的冲突。

最佳答案

Android 模拟器基于 QEMU,它必须模拟各种硬件设备,就像在真手机上运行的 Android 一样。具体来说,它模拟了一个名为“金鱼”的神话电话。

保存快照时,设备 RAM 必须保存在快照中。但是,这不仅仅意味着主 RAM - 它还指代手机硬件的所有其他复杂位 - 例如 CPU 寄存器、实时时钟硬件的状态以及每隔一个的任何/所有寄存器此虚拟手机中的硬件。

如果您没有启用 GPU,那么图形硬件状态就相当简单了——它将是一个帧缓冲区,以及一些代表 x 维度、y 维度和像素格式的寄存器。

但是,如果您已启用 GPU 直通,则保存该硬件的状态会复杂得多。 QEMU 必须保存每个纹理的状态、设置的相机、几何形状以及保存在 GPU 中的其他更多内容。流向 GPU 的命令流水线也必须在任意点中断,并记录这些命令的执行状态(很难,因为存在多级流水线,并且某些指令可能已部分执行)。

此外,qemu 实际上可能很难获取此信息,因为 qemu 只是将其传递给主机 GPU。 qemu 无法准确地询问主机 GPU 驱动程序执行了什么以及没有执行什么。至少,这需要主机操作系统和 GPU 驱动程序的支持,甚至可能需要更改 GPU 管道以简化事情,以便管道可以在任意点停止和重新启动。

关于Android:为什么快照和gpu是互斥的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11617131/

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