-
-
Notifications
You must be signed in to change notification settings - Fork 467
FAQ
Docker is only used to build native libraries, not at runtime, so there is no impact on performance.
It is possible that the build time will increase (especially when the host OS is Windows), but unless you are building libraries repeatedly, it should be much less stressful than installing all the dependent tools manually.
You don't need to mind this issue if your host OS is Linux, but on Windows, you need to specify --cpus
and --memory
option when starting a container.
According to my rule of thumb, it is better to adjust the parameters as follows (this doesn't apply if you have too little memory):
-
When starting Windows container, allocate more than
1.2g * [cpus]
memory.docker run --cpus=8 --memory=10g -it mediapipe_unity:windows
-
But if you'd like to build libraries for Android on Windows container, allocate more than
1.5g * [cpus]
memory.docker run --cpus=8 --memory=12g -it mediapipe_unity:windows
-
On the other hand, when starting Linux container, allocate more than
1g * [cpus]
memory.docker run --cpus=8 --memory=8g -it mediapipe_unity:linux
Strip symbols from native libraries. See Build Command for more details.
When some errors occur, MediaPipe doesn't throw an exception but aborts the whole program (signals SIGABRT
).
It is not fatal in production since the application should crash in such a situation after all, but in a development environment, it is very annoying since the UnityEditor crashes.
On Linux and macOS, this plugin avoids UnityEditor crashing by handling SIGABRT
, so if UnityEditor crashes, please let us know!
On Windows, there seem to be no ways to handle SIGABRT
properly, so if you cannot tolerate this, use a different OS.
If you encounter an error like below and you use OpenGL Core as the Unity's graphics APIs, please try Vulkan.
InternalException: INTERNAL: ; eglMakeCurrent() returned error 0x3000_mediapipe/mediapipe/gpu/gl_context_egl.cc:261)