Я пытаюсь запустить приложение Unity с помощью следующего кода:
IntPtr parentHandle = Process.GetCurrentProcess().MainWindowHandle;
ProcessStartInfo procInfo = new ProcessStartInfo(_pathToUnityExe);
Logging.Log_Critical.Send("Starting process at " + _pathToUnityExe);
if (_useEmbeddedWindow)
{
procInfo.Arguments = "-parentHWND " + parentHandle + " " + Environment.CommandLine;
procInfo.UseShellExecute = true;
procInfo.CreateNoWindow = true;
}
_externalAppProcess = Process.Start(procInfo);
Я заметил несколько низкую производительность на стороне родительского приложения WPF, а именно вялую отзывчивость и сцепление с анимацией и мультимедиа.Кажется, это происходит независимо от того, загружает ли приложение Unity сложную или полностью пустую сцену.
Поскольку приложение Unity запускается в процессе, я не представляю, что существует проблема с многопоточностью / блокировкой, но яЯ не уверен, что еще это может быть, если это не проблема в Unity.
У кого-нибудь есть мысли или опыт с этим?
Я открыт для другихПодходы также, если это необходимо, я в основном просто должен иметь возможность контролировать размер и положение окна Unity.Я в основном с подозрением отношусь к аргументу -parentHWND
, вызывающему странное поведение на стороне Unity.
Однако этот код, по-видимому, сам по себе не удаляет строку заголовка окна, есть ли способ сделать это без использования аргумента -parentHWND
?
procInfo.CreateNoWindow = true;