在 android 中,与 passthrough hidl 相比,binderised hidl 有什么优势?
据我所知,有两种 hidl 方式(绑定(bind)方式(独立进程中的客户端/服务器),直通方式(同一进程中的客户端/服务器)。 Binderised方式与passthrough方式相比有什么优势?
我认为绑定(bind)方式比直通有更多的开销,因为绑定(bind)方式需要使用绑定(bind)通信(RPC)。
vendor为什么要使用binderised的方式?
最佳答案
binderized 表示您的服务通过 /dev/hwbinder
提供并托管在单独的进程中。这允许它拥有对硬件资源的独占访问权,并且仍然同时为多个客户端提供服务。
passthrough 表示您的服务是通过共享库中的 C++ 接口(interface)提供的。这通常意味着只有一个客户端可以链接到它,或者服务必须以不需要独占访问硬件的方式实现。好处是您可以节省使用 Binder 的通信开销。
您通常会使用绑定(bind)化 HAL,因为 Binder RPC 开销非常小(小于框架 Binder 和 AIDL
)。
有一个 HAL 列表 need to be implemented in passthrough模式(出于性能原因),以及 need to be implemented in binderized 的 HAL 列表模式。
关于android - 与 passthrough 相比,binderised hidl 的优势是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54394257/