Search results for

“offloading”

183 results found

Post

Replies

Boosts

Views

Activity

Reply to iPad parent child refreshing issue - onAppear is NOT getting called every single time.
I tested with Xcode 14.2, iPad simulator (iOS 16.2) and it works as expected. on appear on topic Topic1 on appear on topic Topic2 on appear on topic Topic3 on appear on topic Topic1 on appear on topic Topic2 on appear on topic Topic3 Take care that onAppear is only called when view is loaded. May be in your case, view is not offloaded and reloaded ?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Sep ’23
Reply to macOS NEFilterDataProvider best practices?
Are all flows funneled through a single serial queue that calls into my subclass? Yes. Should I offload flow processing onto a concurrent queue and then pause the flow and return from my callback? Or just do all processing in the callbacks? It’s kinda up to you. Certainly, I wouldn’t use a concurrent queue for this because I wouldn’t use a concurrent queue for anything (-: See Avoid Dispatch Global Concurrent Queues. However, handing work out to your own code that has its own concurrency model is perfectly reasonable. Now, as to whether that’ll actually improve the performance, that’s a very different question, one that doesn’t have an easy answer. My experience is that most networking code is I/O bound, so getting more CPUs to work on the problem doesn’t help. However, the only way to know for sure is to measure and test. And once I return an allow/deny verdict for the flow … do I no longer see that flow's traffic in my content filter? Correct. What if multiple content filters are present? Are they
Topic: App & System Services SubTopic: Core OS Tags:
Aug ’23
macOS NEFilterDataProvider best practices?
I've seen some discussion around performance on the forums but nothing official. What is the best practice for [handleNewFlow:] , [handleOutboundDataFromFlow:], and [handleInboundDataFromFlow:] callbacks in a content filter? Are all flows funneled through a single serial queue that calls into my subclass? If so this seems like we are back in the days of early OS X with the kernel network funnel serializing all network traffic. Should I offload flow processing onto a concurrent queue and then pause the flow and return from my callback? Or just do all processing in the callbacks? And once I return an allow/deny verdict for the flow (without asking for more data) do I no longer see that flow's traffic in my content filter? That's what I would expect and it seems to be the case in actual practice too. For reference I never need to interact with the user. All of the rules are loaded from an EDR platform. I bring this up because we have users complaining of stuttering during Google Meet / Zoom, etc when ou
4
0
945
Aug ’23
File system changes introduced in iOS 17
File system changes introduced in iOS 17 As part of iOS 17, tvOS 17, and watchOS 10, the system has reorganized where applications and their data containers are stored. In previous systems, both lived within the same volume but, starting in iOS 17, they will be stored on different volumes. What does this mean for you? Copying large amounts of data from the app bundle to a data container will take longer than in previous versions of iOS. Previously that copy would have occurred as an APFS file clone, but now the operation will occur as a standard copy, which may take much significantly longer. Because the data will need to be fully duplicated, storage usage will increase more than was the case in previous versions. You should minimize the data they copy out of their app bundle and avoid any unnecessary duplication of data between the app bundle and data container. When upgrading from previous system version, splitting the data into separate volumes may mean that there is insufficient space for all existing app
0
0
3.2k
Jul ’23
Reply to Generating vertex data in compute shader
Reusing one big buffer instead of many seems like a great idea. Less moving parts the better here. Why the vertices are expensive to compute is mostly a question of scale. For instance, with indirect draw calls I can handle 4000+ chunks of terrain and 25 million+ vertices at 60 fps. With much lower terrain distances the meshing on the CPU can keep up fine, but when I push it there is a lot of frame dropping when moving over the terrain and generating meshes for dozens or hundreds of chunks. Part of this is that my meshing is single-threaded on the CPU, but my experience with Swift multi-threading is so far hit and miss for this kind of thing. As such, parallelism is the entire point of trying to offload this to a compute shader. The process of vertex generation is pretty standard for block/Minecraft-style terrain. We loop through all the blocks in a chunk, and if a block is solid, we check if any of its neighbours are air, and therefore if we should put a quad opposite it. Roughly: for y in i..
Topic: Graphics & Games SubTopic: General Tags:
Jul ’23
Generating vertex data in compute shader
Hi there, I am working on a 3d game engine in Swift and Metal. Currently I dynamically generate vertex buffers for terrain chunks on the CPU and pass all models to the GPU via argument buffer and make indirect draw calls. Calculating where vertices should be is costly and I would like to offload the work to a compute shader. Setting up the shader was straightforward and I can see that it (at least as an empty function) is being executed in the CommandBuffer. However, I come to this problem: since I do not know ahead of time how many vertices a chunk of terrain will have, I cannot create a correctly-sized MTLBuffer to pass into the compute function to be populated for later use in a draw call. The only solution I could think of is something like the following: For each chunk model, allocate a VertexBuffer and IndexBuffer that will accommodate the maximum possible number of vertices for a chunk. Pass in the empty too-large buffers to the compute function Populate the too-large buffers and set the actua
6
0
2.0k
Jul ’23
Reply to Clear App Cache
To manually delete app data on iOS without specifying the app name, you can follow these steps: Open the Settings on your iOS device. Scroll down and tap on General. Select iPhone Storage or iPad Storage depending on your device. In the list of installed apps, locate the app you want to delete data for and tap on it. You will now see a detailed view of the app with information about storage usage. Here are several options: Delete App: This will remove the entire app from your device, including all data and settings. Offload App: This option will remove the app but keep its documents and data intact. You can reinstall the app later without losing your data. Delete App and its Data: This option will remove the app and all associated data from your device. Choose the desired option based on your requirements. If you only want to free up storage space without removing the app, you can select Offload App. Please note that manually deleting app data will free up storage space on your device but ma
Topic: Programming Languages SubTopic: Swift Tags:
Jun ’23
Reply to MAC address spoofing not working
@somewhereInTime oh wow, I would've expected the built-in hardware of the Mac Mini to actually work with the shipped OS. Thanks for sharing! I specifically bought a OWC TB3 to 10GbE adapter, as it uses the Aquantia AQC107 chipset. According to the previously shared link to the guide on Github: With the above 5 drivers, currently Apple only uses 2 of them in their products: Aquantia is used on all Macs with 10Gbe ie. 2017 iMac Pro, 2019 Mac Pro, 2018 Mac mini Broadcom is used on all 2011+ Macs with 1Gbe ie. 2011-2020 iMacs, 2010-2020 Mac minis, 2013 Mac Pro However - no luck. Offloading seems to work, the used driver is Driver: com.apple.driver.AppleEthernetAquantiaAqtion. But using ifconfig ether still fails silently :( Upgrading to the latest macOS Sonoma Developer beta seems to have solved my other issue regarding WiFi 6E (6GHz), it now detects my AP correctly and actually connects. But regarding wired network adapters I didn't see any changes. As this is my daily driver I will downgrade to macOS V
Jun ’23
Bindless/GPU-Driven approach with dynamic scenes?
I have been experimenting with different rendering approaches in Metal and am hitting a wall when it comes to reconciling bindless or GPU-driven approaches* with a dynamic scene where meshes can be added, removed, and changed. All the examples I have found of such approaches use fixed scenes, where all the data is fixed before the first draw call into something like a MeshBuffer that holds all scene geometry in the form of Mesh objects (for instance). While I can assume that recreating a MeshBuffer from scratch each frame would be possible but completely undesirable, and that there may be some clever tricks with pointers to update a MeshBuffer as needed, I would like to know if there is an established or optimal solution to this problem, or if these approaches are simply incompatible with dynamic geometry. Any example projects that do what I am asking that I may have missed would be appreciated, too. * I know these are not the same, but seem to share some common characteristics, namely providing your entire g
3
0
1.6k
Jun ’23
Reply to Prevent uninstall app by "Offload unused apps"
There’s no documented setting for that. Imagine if there were: many apps would use it and thus defeat the purpose of the offload feature. For now your best bet is to advise the user to disable the global offload feature, with a detailed explanation of the motivation for doing so. But it’s still the user's choice. You could also file a Feedback requesting support for this, such as a hard-to-get entitlement for apps like yours.
Apr ’23
Prevent uninstall app by "Offload unused apps"
I need to develop Emergency communication app. This app is not used frequently but it need to start immediately when user need to make emergency communication. If this app is not used for a month, it uninstalled by Offload unused apps feature. Is there way to put a flag into app to prevent uninstall? If application's Info.plist has setting like Preventing offloading unused apps, it would be great to me.
1
0
1.5k
Apr ’23
Reply to Whatsapp for business - not saving quick reply(under business tools) on IOS 16.3.1.
There could be several reasons why quick replies are not being saved on WhatsApp for Business on iOS 16.3.1. Here are some troubleshooting steps you can try: 1.Check if you have the latest version of WhatsApp for Business installed on your device. If not, update it from the App Store. 2.Make sure that you have enabled the Quick Replies feature in the Business Settings of your WhatsApp account. To do this, go to Settings > Business Settings > Quick Replies and toggle the switch to ON. 3.Ensure that you have granted WhatsApp permission to access your device's microphone and camera. Quick Replies require access to these features to work properly. 4.Try clearing the cache of WhatsApp. Go to Settings > General > iPhone Storage, find WhatsApp in the list of apps, and tap on it. Then, tap Offload App or Delete App to remove it from your device. After that, reinstall WhatsApp and try setting up Quick Replies again. 5.If none of the above solutions work, contact WhatsApp support for further assist
Topic: App & System Services SubTopic: Hardware Tags:
Mar ’23
Reply to iPad parent child refreshing issue - onAppear is NOT getting called every single time.
I tested 20 times, on simulator, both in Portrait and landscape. onAppear always called. Please explain exactly how you get the error, and which versions you use. On simulator or device ? For the meaning: offloaded means the view is offloaded from view hierarchy and will be reloaded after.
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Oct ’23
Reply to iPad parent child refreshing issue - onAppear is NOT getting called every single time.
I tested with Xcode 14.2, iPad simulator (iOS 16.2) and it works as expected. on appear on topic Topic1 on appear on topic Topic2 on appear on topic Topic3 on appear on topic Topic1 on appear on topic Topic2 on appear on topic Topic3 Take care that onAppear is only called when view is loaded. May be in your case, view is not offloaded and reloaded ?
Topic: UI Frameworks SubTopic: SwiftUI Tags:
Replies
Boosts
Views
Activity
Sep ’23
Reply to iOS - Cash APP options API Error Code : 8447435879
Clearing the cache can potentially resolve the issue if it is corrupted. To clear Cash App's cache on your iPhone, open the Settings app, go to General, Scroll down and tap on “iPhone Storage”, locate the Cash App and tap on it, Tap on “Offload App.” Confirm the action when prompted.
Replies
Boosts
Views
Activity
Aug ’23
Reply to macOS NEFilterDataProvider best practices?
Are all flows funneled through a single serial queue that calls into my subclass? Yes. Should I offload flow processing onto a concurrent queue and then pause the flow and return from my callback? Or just do all processing in the callbacks? It’s kinda up to you. Certainly, I wouldn’t use a concurrent queue for this because I wouldn’t use a concurrent queue for anything (-: See Avoid Dispatch Global Concurrent Queues. However, handing work out to your own code that has its own concurrency model is perfectly reasonable. Now, as to whether that’ll actually improve the performance, that’s a very different question, one that doesn’t have an easy answer. My experience is that most networking code is I/O bound, so getting more CPUs to work on the problem doesn’t help. However, the only way to know for sure is to measure and test. And once I return an allow/deny verdict for the flow … do I no longer see that flow's traffic in my content filter? Correct. What if multiple content filters are present? Are they
Topic: App & System Services SubTopic: Core OS Tags:
Replies
Boosts
Views
Activity
Aug ’23
macOS NEFilterDataProvider best practices?
I've seen some discussion around performance on the forums but nothing official. What is the best practice for [handleNewFlow:] , [handleOutboundDataFromFlow:], and [handleInboundDataFromFlow:] callbacks in a content filter? Are all flows funneled through a single serial queue that calls into my subclass? If so this seems like we are back in the days of early OS X with the kernel network funnel serializing all network traffic. Should I offload flow processing onto a concurrent queue and then pause the flow and return from my callback? Or just do all processing in the callbacks? And once I return an allow/deny verdict for the flow (without asking for more data) do I no longer see that flow's traffic in my content filter? That's what I would expect and it seems to be the case in actual practice too. For reference I never need to interact with the user. All of the rules are loaded from an EDR platform. I bring this up because we have users complaining of stuttering during Google Meet / Zoom, etc when ou
Replies
4
Boosts
0
Views
945
Activity
Aug ’23
File system changes introduced in iOS 17
File system changes introduced in iOS 17 As part of iOS 17, tvOS 17, and watchOS 10, the system has reorganized where applications and their data containers are stored. In previous systems, both lived within the same volume but, starting in iOS 17, they will be stored on different volumes. What does this mean for you? Copying large amounts of data from the app bundle to a data container will take longer than in previous versions of iOS. Previously that copy would have occurred as an APFS file clone, but now the operation will occur as a standard copy, which may take much significantly longer. Because the data will need to be fully duplicated, storage usage will increase more than was the case in previous versions. You should minimize the data they copy out of their app bundle and avoid any unnecessary duplication of data between the app bundle and data container. When upgrading from previous system version, splitting the data into separate volumes may mean that there is insufficient space for all existing app
Replies
0
Boosts
0
Views
3.2k
Activity
Jul ’23
Reply to Generating vertex data in compute shader
Reusing one big buffer instead of many seems like a great idea. Less moving parts the better here. Why the vertices are expensive to compute is mostly a question of scale. For instance, with indirect draw calls I can handle 4000+ chunks of terrain and 25 million+ vertices at 60 fps. With much lower terrain distances the meshing on the CPU can keep up fine, but when I push it there is a lot of frame dropping when moving over the terrain and generating meshes for dozens or hundreds of chunks. Part of this is that my meshing is single-threaded on the CPU, but my experience with Swift multi-threading is so far hit and miss for this kind of thing. As such, parallelism is the entire point of trying to offload this to a compute shader. The process of vertex generation is pretty standard for block/Minecraft-style terrain. We loop through all the blocks in a chunk, and if a block is solid, we check if any of its neighbours are air, and therefore if we should put a quad opposite it. Roughly: for y in i..
Topic: Graphics & Games SubTopic: General Tags:
Replies
Boosts
Views
Activity
Jul ’23
Generating vertex data in compute shader
Hi there, I am working on a 3d game engine in Swift and Metal. Currently I dynamically generate vertex buffers for terrain chunks on the CPU and pass all models to the GPU via argument buffer and make indirect draw calls. Calculating where vertices should be is costly and I would like to offload the work to a compute shader. Setting up the shader was straightforward and I can see that it (at least as an empty function) is being executed in the CommandBuffer. However, I come to this problem: since I do not know ahead of time how many vertices a chunk of terrain will have, I cannot create a correctly-sized MTLBuffer to pass into the compute function to be populated for later use in a draw call. The only solution I could think of is something like the following: For each chunk model, allocate a VertexBuffer and IndexBuffer that will accommodate the maximum possible number of vertices for a chunk. Pass in the empty too-large buffers to the compute function Populate the too-large buffers and set the actua
Replies
6
Boosts
0
Views
2.0k
Activity
Jul ’23
Reply to Clear App Cache
To manually delete app data on iOS without specifying the app name, you can follow these steps: Open the Settings on your iOS device. Scroll down and tap on General. Select iPhone Storage or iPad Storage depending on your device. In the list of installed apps, locate the app you want to delete data for and tap on it. You will now see a detailed view of the app with information about storage usage. Here are several options: Delete App: This will remove the entire app from your device, including all data and settings. Offload App: This option will remove the app but keep its documents and data intact. You can reinstall the app later without losing your data. Delete App and its Data: This option will remove the app and all associated data from your device. Choose the desired option based on your requirements. If you only want to free up storage space without removing the app, you can select Offload App. Please note that manually deleting app data will free up storage space on your device but ma
Topic: Programming Languages SubTopic: Swift Tags:
Replies
Boosts
Views
Activity
Jun ’23
Reply to MAC address spoofing not working
@somewhereInTime oh wow, I would've expected the built-in hardware of the Mac Mini to actually work with the shipped OS. Thanks for sharing! I specifically bought a OWC TB3 to 10GbE adapter, as it uses the Aquantia AQC107 chipset. According to the previously shared link to the guide on Github: With the above 5 drivers, currently Apple only uses 2 of them in their products: Aquantia is used on all Macs with 10Gbe ie. 2017 iMac Pro, 2019 Mac Pro, 2018 Mac mini Broadcom is used on all 2011+ Macs with 1Gbe ie. 2011-2020 iMacs, 2010-2020 Mac minis, 2013 Mac Pro However - no luck. Offloading seems to work, the used driver is Driver: com.apple.driver.AppleEthernetAquantiaAqtion. But using ifconfig ether still fails silently :( Upgrading to the latest macOS Sonoma Developer beta seems to have solved my other issue regarding WiFi 6E (6GHz), it now detects my AP correctly and actually connects. But regarding wired network adapters I didn't see any changes. As this is my daily driver I will downgrade to macOS V
Replies
Boosts
Views
Activity
Jun ’23
Bindless/GPU-Driven approach with dynamic scenes?
I have been experimenting with different rendering approaches in Metal and am hitting a wall when it comes to reconciling bindless or GPU-driven approaches* with a dynamic scene where meshes can be added, removed, and changed. All the examples I have found of such approaches use fixed scenes, where all the data is fixed before the first draw call into something like a MeshBuffer that holds all scene geometry in the form of Mesh objects (for instance). While I can assume that recreating a MeshBuffer from scratch each frame would be possible but completely undesirable, and that there may be some clever tricks with pointers to update a MeshBuffer as needed, I would like to know if there is an established or optimal solution to this problem, or if these approaches are simply incompatible with dynamic geometry. Any example projects that do what I am asking that I may have missed would be appreciated, too. * I know these are not the same, but seem to share some common characteristics, namely providing your entire g
Replies
3
Boosts
0
Views
1.6k
Activity
Jun ’23
iOS offloading time frame
What is the time frame for an app to be offloaded if the user does not open it? Also, is there any way for an app be exempt from offloading? Moreover, how can we track the number of offloads?
Replies
0
Boosts
0
Views
458
Activity
Apr ’23
Reply to Prevent uninstall app by "Offload unused apps"
There’s no documented setting for that. Imagine if there were: many apps would use it and thus defeat the purpose of the offload feature. For now your best bet is to advise the user to disable the global offload feature, with a detailed explanation of the motivation for doing so. But it’s still the user's choice. You could also file a Feedback requesting support for this, such as a hard-to-get entitlement for apps like yours.
Replies
Boosts
Views
Activity
Apr ’23
Prevent uninstall app by "Offload unused apps"
I need to develop Emergency communication app. This app is not used frequently but it need to start immediately when user need to make emergency communication. If this app is not used for a month, it uninstalled by Offload unused apps feature. Is there way to put a flag into app to prevent uninstall? If application's Info.plist has setting like Preventing offloading unused apps, it would be great to me.
Replies
1
Boosts
0
Views
1.5k
Activity
Apr ’23
Reply to Whatsapp for business - not saving quick reply(under business tools) on IOS 16.3.1.
There could be several reasons why quick replies are not being saved on WhatsApp for Business on iOS 16.3.1. Here are some troubleshooting steps you can try: 1.Check if you have the latest version of WhatsApp for Business installed on your device. If not, update it from the App Store. 2.Make sure that you have enabled the Quick Replies feature in the Business Settings of your WhatsApp account. To do this, go to Settings > Business Settings > Quick Replies and toggle the switch to ON. 3.Ensure that you have granted WhatsApp permission to access your device's microphone and camera. Quick Replies require access to these features to work properly. 4.Try clearing the cache of WhatsApp. Go to Settings > General > iPhone Storage, find WhatsApp in the list of apps, and tap on it. Then, tap Offload App or Delete App to remove it from your device. After that, reinstall WhatsApp and try setting up Quick Replies again. 5.If none of the above solutions work, contact WhatsApp support for further assist
Topic: App & System Services SubTopic: Hardware Tags:
Replies
Boosts
Views
Activity
Mar ’23