О VR Unity Game Прогресс зависания отладки - PullRequest
0 голосов
/ 23 ноября 2018

Мы разрабатываем игру vr для Unity, исследуем exe для запуска на win10.после нескольких часов работы игра progess hang.cpu 30% (4 ядра) выглядит как бесконечный цикл, но ... 1.используем dnSpy для отладки, мы попытались найти ошибку в управляемом c # stacktrace.но все потоки выглядят корректно. (основной поток c # метод обновления не может войти, это похоже на приостановку) 2.windbg перерыв несколько раз,

Call Site
ntdll!ZwWaitForSingleObject+0x14
KERNELBASE!WaitForSingleObjectEx+0x9f
UnityPlayer!GfxDeviceWorker::WaitOnCPUFence+0x5c
UnityPlayer!VRDevice::BeforeRendering+0x82
UnityPlayer!`InitPlayerLoopCallbacks'::`2'::PostLateUpdatePlayerSendFrameStartedRegistrator::Forward+0x12
UnityPlayer!PlayerLoop+0x469
UnityPlayer!PerformMainLoop+0xb4
UnityPlayer!MainMessageLoop+0xda
UnityPlayer!UnityMainImpl+0xe38
UnityPlayer!UnityMain+0xb
RedSea!__scrt_common_main_seh+0x11e
KERNEL32!BaseThreadInitThunk+0x14
ntdll!RtlUserThreadStart+0x21

это основной поток idx: 0, через! runaway ff мы знаем процессор самый высокий поток использованияis:

d3d11!CContext::TID3D11DeviceContext_GetData_<1>+0x26
vrclient_x64!HmdSystemFactory+0xbf8ac
vrclient_x64!HmdSystemFactory+0xaf85
vrclient_x64!HmdSystemFactory+0x27f8
UnityPlayer!OpenVR::SubmitSeparateEyeTextures+0x1df
UnityPlayer!OpenVR::EventGfxThreadCallback+0x89
UnityPlayer!VRDevice::SendVRDeviceEvent+0x35
UnityPlayer!GfxDevice::SendVRDeviceEvent+0x30
UnityPlayer!GfxDeviceWorker::RunCommand+0x8e89
UnityPlayer!GfxDeviceWorker::RunExt+0x3b
UnityPlayer!GfxDeviceWorker::RunGfxDeviceWorker+0x5c
UnityPlayer!Thread::RunThreadWrapper+0x38
KERNEL32!BaseThreadInitThunk+0x14
ntdll!RtlUserThreadStart+0x21

это поток (idx: 11), на который похоже, что он управляет устройством hmd в тот момент, когда мы обнаруживаем, что использование памяти уменьшается с 390M до 20-30M.я не могу знать, что происходит, у кого-то есть такой же опыт?в чем причина уменьшения использования памяти? более 5 потоков (содержит основной) запускали WaitForSingleObjectEx для одного и того же объекта (адрес 0xe6eb5a8f)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...