https://bugs.kde.org/show_bug.cgi?id=178678
David Faure <faure-***@public.gmane.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |afiestas-***@public.gmane.org,
| |faure-***@public.gmane.org
--- Comment #20 from David Faure <faure kde org> 2011-10-28 17:11:32 ---
Obviously KIO thinks the file system is "local" while in fact it's remote. So
it does operations that end up being too slow.
I initially thought about previews and mimetype determination, but the first
one can be turned off in the menus, and the second one is delayed anyway.
Slow copying is another issue, possibly fixed by the much more recent commit
2cd2d1a4cfa1 on Sep 21, 2011, bug 257907 and bug 258497. Let's only talk about
listing and reloading here, the bug title says "navigating".
[My testcase for future reference: sshfs www.davidfaure.fr: /mnt/df ; cd
/mnt/df/txt.git/objects ]
Ah! With some breaking-in-gdb (poor-man's profiling), I found it. What's really
slow is subdirectories, in detailed view mode, because it lists every subdir in
order to display the number of items. And this it does NOT do in a delayed
manner:
#0 0x00007f76af211b0a in __getdents64 () from /lib64/libc.so.6
#1 0x00007f76af2114d1 in readdir64 () from /lib64/libc.so.6
#2 0x00007f76b46d0dba in KDirModel::data (this=0xccfce0, index=...,
role=743246400) at /d/kde/src/4/kdelibs/kio/kio/kdirmodel.cpp:739
#3 0x00007f76a3809f8f in DolphinModel::data (this=0xccfce0, index=...,
role=743246400) at
/d/kde/src/4/kde-baseapps/dolphin/src/views/dolphinmodel.cpp:119
#4 0x00007f76b179436d in QSortFilterProxyModel::data (this=0xcdcd50,
index=..., role=743246400) at itemviews/qsortfilterproxymodel.cpp:1716
#5 0x00007f76b46f51cd in QModelIndex::data (this=0x7fff1e66f0a0,
arole=743246400) at
/d/qt/4/qt-for-trunk/include/QtCore/../../src/corelib/kernel/qabstractitemmodel.h:398
#6 0x00007f76b46ed564 in KFileItemDelegate::Private::itemSize (this=0xcaa6c0,
index=..., item=...) at /d/kde/src/4/kdelibs/kio/kio/kfileitemdelegate.cpp:226
#7 0x00007f76b46f11e3 in KFileItemDelegate::Private::display (this=0xcaa6c0,
index=...) at /d/kde/src/4/kdelibs/kio/kio/kfileitemdelegate.cpp:987
#8 0x00007f76b46f0640 in KFileItemDelegate::Private::initStyleOption
(this=0xcaa6c0, option=0x7fff1e66e800, index=...) at
/d/kde/src/4/kdelibs/kio/kio/kfileitemdelegate.cpp:857
#9 0x00007f76b46f2027 in KFileItemDelegate::paint (this=0xcaa510,
painter=0x7fff1e66f570, option=..., index=...) at
/d/kde/src/4/kdelibs/kio/kio/kfileitemdelegate.cpp:1252
Fixed (skipped for nfs/smb mounts), see commit in next comment.
Then there is the reading of icon name (and comment) in "foo/.directory"
(KFileItem::iconName calling KFolderMimeTypePrivate::iconName).
Even though it's cached (so it happens only once per dir), it still makes
things quite slow.
=> Fixed too (skipped for nfs/smb mounts).
The last issue seems to be when navigating away from a directory,
KDirListerCache::forgetDirs calls manually_mounted for -each item-, which calls
realFilePath, which stats... There's already a TODO for porting that code to
Solid, assigned to afiestas ;-)
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.