Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Media Transfer Protocol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Performance=== *<span style=color:red>(-)</span> MTP operations are not multiplexable β any ongoing operation must either complete or be aborted before another operation can begin. Unlike [[USB mass storage device class|USB mass storage]], where the host operating system is free to multiplex block transfers, and logical operations are an emergent phenomenon, the operations supported by MTP are more coarse-grained, such as transferring entire files. Neither protocol is parallel or asynchronous by itself (aside from the [[USB_Attached_SCSI|UAS]] extension of USB mass storage, which adds multiple command queues). *<span style=color:red>(-)</span> Limited support for transferring parts of files, such as blocks or byte ranges (see {{section link||Direct modification and partial transfer features}}). *<span style=color:red>(-)</span> Limited support for direct modification of files (see {{section link||Direct modification and partial transfer features}}). To modify a file or its metadata, the whole file may need to be copied out of the device and reuploaded, which takes a long time for a large file or directory, and blocks the device for other operations in the meantime. [[Google]]'s MTP implementation in [[Android (operating system)|Android]] includes extensions to deal with this limitation; however, these extensions must be supported by the host operating system.<ref>{{cite web|url=https://blog.intr.overt.org/?p=174|title=Normal file read/write support with the GVFS MTP backend!|date=February 18, 2013|access-date=June 1, 2016|archive-date=April 14, 2016|archive-url=https://web.archive.org/web/20160414110840/http://blog.intr.overt.org/?p=174|url-status=live}}</ref><ref name="hanwen_android.go">{{cite web|url=https://github.com/hanwen/go-mtpfs/blob/master/mtp/android.go|title=hanwen/go-mtpfs|website=[[GitHub]]|access-date=June 1, 2016|archive-date=October 7, 2018|archive-url=https://web.archive.org/web/20181007172816/https://github.com/hanwen/go-mtpfs/blob/master/mtp/android.go|url-status=live}}</ref> *<span style=color:red>(-)</span> Loading long file listings of directories with thousands of items is slow. This could cause "preparing" for transferring files from highly populated directories to take longer than the file transfer itself, since the file manager needs to generate a list of paths to files it is about to transfer, which requires accessing the slow directory listings.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)