hi,
这边发现,IOS上在首次PSO预热后,再次拉起进行仍然会进行预热过程,原因是因为预热后的文件 functions.data [Content removed]
<br/>
这边注意到 IOS 14+ 有个 newBinaryArchiveWithDescriptor(https://developer.apple.com/documentation/metal/creating\-binary\-archives\-from\-device\-built\-pipeline\-state\-objects?language\=objc) 功能,可以避免这种情况,并且最新UE代码已经集成了(MetalPipeline.cpp中)
<br/>
[Image Removed]
<br/>
关于这份代码有个疑问,里面只有把PSO 收集到 MTLBinaryArchive 的地方,没有使用 MTLBinaryArchive 去创建PSO的地方。这个功能是不是只开发了一半
对应下面这行代码(https://developer.apple.com/documentation/metal/creating\-binary\-archives\-from\-device\-built\-pipeline\-state\-objects?language\=objc)
<br/>
[Image Removed]
<br/>
Hi [mention removed] ,
It does indeed appear that using the generated compiled binary archive path isn’t implemented. You should be able to add:
if ((GPSOCacheMode == CacheMode::Append) || (GPSOCacheMode == CacheMode::Use)) { RenderPipelineDesc->setBinaryArchives(NS::Array::array(GPSOBinaryArchive)); }
after creation of the MTL::RenderPipelineDesc. I’ll get back to you if the team confirms otherwise.
Best regards.
Hi Tog,
This internal size limit issue issue isn’t known. Unfortunately, Apple documentation does not provide any guidance as to the size limit of the data. However, it is possible to split the inputs into multiple MTL::BinaryArchives which would provide a potential workaround this. We will look at exploring this as a potential fix.
Best regards.
Hi Tog,
According to the iOS 18.6 Beta release notes, this issue may be addressed by Apple. Are you able to confirm on your repro project if you have the chance?
Best regards.
hi,
I get a error(most of them are concentrated on iOS 18.4.1) when call MTLBinaryArchive::serializeToURL
[Image Removed]
Failed to generate machO:error: cannot write ‘UNITS’ database: MDB_MAP_FULL: Environment mapsize limit reached
error: cannot open ‘META’ database: MDB_BAD_TXN: Transaction must abort, has a child, or is invalid
------------------------------
Adding one more piece of information, if successful, the file size will be approximately around 110MB
-------------------------------
Is this a known issue and Is there any solution for it?
Hi,
Thank you for your reply
If there are related issues with Unreal Engine code commits, please reply with the link.
Best regards.