Network Resource Limitations in Windows RT

According to p. 20 Introduction to background tasks , within the limits of network resource limitations, a background task can load 4.69 MB every 15 minutes.

Does this mean that in Windows RT, if we upload a 20 MB file through the IE10 metro in the background, it will take 40 minutes? (otherwise we must keep the download progress ahead)

In addition, as a background application, you are not allowed to use more than 0.002% of the CPU.

On the same page they claimed that:

Using the network can represent a significant leak on the device’s battery, and therefore it is also limited during the background task. However, if the device is running on AC power, background tasks are not limited to the network. They can use as much network bandwidth as possible (they are, of course, associated with specific bandwidth or usage restrictions). Please note that CPU usage for a background task is always limited by resources, even if the device is powered by AC power.

For these reasons, we cannot implement the boot manager for Windows RT? How about agreeing with ?

+4
source share
2 answers

There are APIs for downloading downloads to manage the background information of the system: see the Mike Taulty blog post about this . There are other serious limitations for WinRT applications in the background, which are usually not discussed in blog posts and forums, for example, that your background task is performed in a separate process or apartment thread than your application: in the document linked to above , see "Background Task Host Executable". It says that if your background task is PushNotificationTrigger or ControlChannelTrigger, your task is the inproc server executed by BackgroundTaskHost.exe or WWAHost.exe. Even in the first two cases, when it is launched “in the same application”, it is in a separate apartment. All of them can share data only with the main application, placing them in files or ApplicationData storage.

I experimented with ControlChannelTrigger and found the following limitations (also listed in the docs if you dig them out):

  • The channel must be connected to the socket before connecting the socket.
  • An application can use only a limited number of ControlChannels, even if program channels are specified (6 in my case)
+1
source

As far as I can tell from the linked document, you are limited by the amount of data throughput in background tasks that are based on the amount of energy used to power the network device, and not on any specific data value. 4.69 MB was just an example for 10 Mbps, which is slower than most standard Internet connections to the Internet.

In addition, as a paragraph that you link, there are no restrictions if the device is connected to the network, so there will never be a problem for desktop PCs and most laptops. There is no indication that you can ask the user to bypass the restrictions.

So, yes, you can create a download manager, and it should work fine as long as you know where and how the user uses the application and adjusts accordingly.

+1
source

Source: https://habr.com/ru/post/1437525/


All Articles