Это было актуально для каждой версии Windows, которую я использовал, от Windows 95 до Windows 8 Release Preview. И не только на моем компьютере, но и на других тоже — я уверен, вы это заметили.
Почему при щелчке правой кнопкой мыши по файлу, рабочему столу или папке подменю «Новый» отображается дольше, чем любое другое системное меню?
Я понимаю, что это может быть связано с определением того, какие значки отображать на основе того, какие списки должны появляться в меню «Новое», но все же есть и другие подменю, которые имеют ту же функциональность, но появляются мгновенно.
решение1
Эти "другие подменю" вообще не имеют той же функциональности. Все эти другие меню статически спроектированы, тогда как Новое подменю генерируется динамически.
Это означает, что Tortoise SVN заранее определил, какие пункты должны быть в этом меню, и снабдил Windows всеми изображениями, текстом и функциями, которые необходимо вызывать из этих пунктов меню.
Новое меню, с другой стороны, должносканировать реестрчтобы узнать, какие элементы должны иметь опцию в меню New, ему нужно обратиться к диску, чтобы найти значки для этих элементов, и ему нужно решить, что делать, когда кто-то нажимает на эти элементы. Проблема в том, что ему приходится делать это каждый раз, когда вы смотрите на это меню, потому что если вы устанавливаете программу, то вы вполне можете ожидать, что новые элементы появятся в этом списке в любое случайное время.
По сути, эти меню не одинаковы и работают на двух разных наборах предположений. Одно статично и редко меняется, другое динамично и может меняться в любое время, когда этого захочет программа. Кэширование диска может сделать меню New довольно быстрым, но это не компенсирует тот факт, что ему нужно выполнить работу, прежде чем он покажет вам список.