When the RHI thread is enabled (with or without parallel-execution) for Metal it isn't currently possible to run "profilegpu" because the GPU timestamp emulation code isn't multi-thread safe and promptly asserts. Without an official timestamp API this will remain a problem.
1. Build UE4/SCW
2. Run any project in -game.
3. Use the in-game command line (~) and enter: profilegpu
Thread 9 Crashed:: TaskGraphThreadNP 0 0 UE4Editor-Core.dylib 0x0000000100dcb50b FGenericPlatformMisc::RaiseException(unsigned int) + 43 (GenericPlatformMisc.cpp:307) 1 UE4Editor-Core.dylib 0x0000000100fa5d36 FOutputDeviceMacError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) + 614 (MacPlatformOutputDevices.cpp:93) 2 UE4Editor-Core.dylib 0x0000000101023727 FOutputDevice::Logf(wchar_t const*, ...) + 455 (OutputDevice.cpp:94) 3 UE4Editor-Core.dylib 0x000000010101ee9b FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) + 347 (ContainerAllocationPolicies.h:484) 4 UE4Editor-RHI.dylib 0x0000000107ca18ec FGPUProfiler::PushEvent(wchar_t const*, FColor) + 348 (GPUProfiler.cpp:552) 5 UE4Editor-MetalRHI.dylib 0x00000001344e06a0 FMetalRHICommandContext::RHIPushEvent(wchar_t const*, FColor) + 32 (MetalRHI.cpp:580) 6 UE4Editor-RHI.dylib 0x0000000107ca847c FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) + 1916 (RHICommandList.cpp:254) 7 UE4Editor-RHI.dylib 0x0000000107caac24 FRHICommandListExecutor::ExecuteInner(FRHICommandListBase&) + 7716 (RHICommandList.cpp:455) 8 UE4Editor-RHI.dylib 0x0000000107cabaea FRHICommandListExecutor::ExecuteList(FRHICommandListBase&) + 2282 (Stats2.h:1537) 9 UE4Editor-RHI.dylib 0x0000000107cae2bf FRHICommandListBase::~FRHICommandListBase() + 639 (RHICommandList.cpp:696) 10 UE4Editor-RHI.dylib 0x0000000107cea8a5 FParallelTranslateCommandList::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) + 1221 (RHICommandList.cpp:1665) 11 UE4Editor-RHI.dylib 0x0000000107ce9ef7 TGraphTask<FParallelTranslateCommandList>::ExecuteTask(TArray<FBaseGraphTask*, FDefaultAllocator>&, ENamedThreads::Type) + 535 (Stats2.h:1537) 12 UE4Editor-Core.dylib 0x0000000100e09251 FTaskThreadAnyThread::ProcessTasks() + 1249 (TaskGraph.cpp:259) 13 UE4Editor-Core.dylib 0x0000000100e080bd FTaskThreadAnyThread::ProcessTasksUntilQuit(int) + 381 (GenericPlatformProcess.cpp:504) 14 UE4Editor-Core.dylib 0x0000000100e07d5b FTaskThreadBase::Run() + 331 (TaskGraph.cpp:621) 15 UE4Editor-Core.dylib 0x0000000100e5b428 FRunnableThreadPThread::Run() + 376 (PThreadRunnableThread.cpp:26) 16 UE4Editor-Core.dylib 0x0000000100e21011 FRunnableThreadPThread::_ThreadProc(void*) + 353 (PThreadRunnableThread.h:172) 17 libsystem_pthread.dylib 0x00007fff8727b99d _pthread_body + 131 18 libsystem_pthread.dylib 0x00007fff8727b91a _pthread_start + 168 19 libsystem_pthread.dylib 0x00007fff87279351 thread_start + 13
Head over to the existing Questions & Answers thread and let us know what's up.
3 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.13, 4.14 |
Target Fix | 4.17 |
Fix Commit | 3432366 |
---|---|
Main Commit | 3461201 |
Created | Sep 14, 2016 |
---|---|
Resolved | May 10, 2017 |
Updated | Jun 5, 2017 |