What is Explicit synchronization between GPU and CPU

Ten*_*lah 3 unity-game-engine metal

MetalOpenGL because of explicit synchronization between GPU and CPU." https://en.wikipedia.org/wiki/Metal_(API)

什么是 GPU 和 CPU 之间的显式同步?

Jan*_*son 5

Metal 的开发是为了与 Apple 硬件配合使用,特别是 A7 及以上芯片。这些芯片的 CPU 和 GPU 位于同一芯片上。他们共享内存空间。

OpenGL 中一项昂贵的操作是将数据缓冲区从 CPU 复制到 GPU。由于它们占用相同的空间,因此您不必将数据从 CPU 复制到 GPU。CPU 授予 GPU 访问缓冲区所在内存空间的权限,以便 GPU 可以完成缓冲区上的工作,而不会被 CPU 覆盖。

由于 OpenGL 是在您无法将 CPU 和 GPU 放在同一芯片上的时候创建的,因此实际上不可能设置一个应用程序来假设您不需要复制内存,因此这造成了无用且昂贵的操作。