-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS installation - OK but VK_ERROR_OUT_OF_DEVICE_MEMORY #39
Comments
Thanks for the detailed writeup. The iOS wrapper isn't included in the CI/CD pipeline, and I haven't been keen on updating it. Without this entitlement, I believe the memory limit for iOS apps is around 50% to 60% of your total DRAM. Rendering a splat usually requires much more memory than the splat itself. The renderer isn't optimized for low memory either, as it requests double the amount of memory every time it runs out of memory. You can also trade efficiency for reduced memory usage by rasterizing tiles sequentially. Unfortunately, I don't have plans to optimize this for mobile devices in the near future. If this is important for your use case and you'd like to work on it, I'd be happy to provide a few pointers on optimization opportunities. |
Hey @shg8, thank you for your answer! That's a shame as I've a hard time finding a GS viewer matching your quality :) Seems like iOS 3DGS rendering is a tough one.
Anything remarks on how I made the app work? Did I do something fundamentally wrong |
Hi Alex, sorry for the delayed response. I think rendering tiles sequentially would save memory but dramatically increase rendering latency. As for optimization opportunities, the first item would be to write a proper parallel radix sort. I believe someone has already done this. Also, check out his implementation. |
Hey! First of all thank you for your work.
I managed to get the app installed but I'm not sure if I did things correctly. Here is a walkthrough of what I did.
Initially did
I had to fix a couple of things first:
define VULKAN_HPP_TYPESAFE_CONVERSION
toVULKAN_HPP_TYPESAFE_CONVERSION 0
as it caused issues as it's expected to be an integerInstalled Vulkan SDK and prebuilt MoltenVK libraries.
and then running
in the build folder. I was expecting a xcodeproj to be generated but I got nothing.
What worked for me:
context->instance->createMetalSurfacEXT(surfaceCreateInfo)
tostatic_cast<VkSurfaceKHR>(context->instance->createMetalSurfacEXT(surfaceCreateInfo))
The app seems to be installed well but when loading a classic ply like bonsai it loads but when I move around to explore the splat, I get a VK_ERROR_OUT_OF_DEVICE_MEMORY
My device is a Iphone 15 max pro and the splats tested are not super big.
Any advice? Is there any more spot left in the testflight :)
Thanks in advance!
The text was updated successfully, but these errors were encountered: