Поради щодо підвищення ефективності роботи Visual Studio 2010 швидше? [зачинено]


75

Я не знаю, чи хтось ще мав проблему з продуктивністю Visual Studio 2010, але я закриваю її щодня і знову відкриваю, і через годину вона починає справді заглиблюватися і навіть не може встигати за моїм набором тексту . Чи є якась очевидна настройка, якої мені бракує, яка б допомогла її пришвидшити?

Я також використовую ReSharper, але навіть якщо я видалю це, це лише незначно збільшує швидкість.

Оскільки кілька людей запитували мої технічні характеристики:

Intel Q9550 @ 2.83 GHz
4 Cores
8GB Physical RAM
2x 60GB SSD in RAID0 combination for solution/project
VS2010 RTM Ultimate
Windows Server 2008 x64 R2 (Performance set for Applications)

Хоча прикро чути, що відповідь - "купуйте швидше обладнання", коли моє обладнання насправді досить добре.

EDIT: Додано посилання на інструмент діагностики продуктивності Visual Studio , запропонований TimothyP


2
Мене теж цікавить що-небудь, щоб пришвидшити цю IDE ... Я люблю багато аспектів VS, однак, здається, це дуже сильно збій / уповільнення.
Polaris878

1
@galambalazs: я все ще не вірю, що вирішив це. Я вимкнув майже все, щоб навіть зробити його придатним для використання. А потім днями я випадково завантажив Visual Studio 2008 sp1 з перефарбовачем, і це було так швидко, що мені довелося повернутися назад і переглянути, чому 2010 рік був таким повільним, тому я насправді цього не зрозумів :(
esac

5
Хе, типовий Microsoft. Інструмент "Діагностика продуктивності" розміром 101 Мб.
Armentage

Відповіді:


7

Я рекомендую вам розглянути можливість встановити деякі виправлення з http://connect.microsoft.com/VisualStudio/Downloads . Раніше у мене також були проблеми з продуктивністю, і я бачив повідомлення на кшталт "недостатня пам'ять" під час операцій вирізання та вставки. Ця проблема та деякі інші (включно з різними проблемами витоку пам'яті) вже визначені. Після встановлення деяких виправлень з http://connect.microsoft.com/VisualStudio/Downloads продуктивність Visual Studio на моєму комп'ютері набагато краща.


Які виправлення ви встановили ?, я встановив пакет оновлень 1 (SP1), який включав більшість виправлень, і my vs надзвичайно повільний
Juan Zamudio

@Juan Zamudio: Вам слід прочитати дату моєї відповіді, особливо якщо ви читаєте про виправлення. У версії RTM (на той час SP1 не було) були деякі важкі проблеми з цибулею пам'яті. Наприклад, на моєму комп'ютері мені доводилося перезапускати Visual Studio кожні кілька годин, оскільки він отримує все більше і більше пам'яті. Все було дуже повільно, а проста операція чашки та вставки не працювала. Один отримав помилку "недостатньо пам'яті". Корпорація Майкрософт знала проблему та виправила помилку, яка не в "www.microsoft.com Downloads", а лише в менш відомій connect.microsoft.com/VisualStudio/Downloads . Це була моя відповідь.
Олег

@Juan Zamudio: Вибачте, але я більше не стежив за цією проблемою, оскільки в моєму поточному оточенні у мене такої проблеми зараз немає. Вам слід більше досліджувати проблему.
Олег

вибачте, я натиснув клавішу Enter, щоб вставити новий рядок, і система коментарів не дозволила мені редагувати після того, як ви відповіли на мій
Juan Zamudio

@Juan Zamudio: Усі виправлення, які відбулись 17 жовтня 2010 року, включені до пакета оновлень 1. В описі виправлення, яке я використав, можна прочитати слова "недостатня пам'ять" під час вирізання та вставки ", які я написав у своїй відповіді. Я дійсно не можу вам допомогти у вирішенні вашої проблеми, оскільки проблема, яку я мав, вирішена в SP1 .
Олег

6

Додаючи тут свою власну відповідь. Я справді не думав, що ReSharper зробив так багато. Спробувавши кожен варіант і завантаживши лише один проект, він все ще відставав навіть від простого об’єднання 2-х рядків (кілька зворотних натискань).

Я видалив ReSharper, і разом з усіма іншими налаштуваннями, які я зробив, справа надзвичайно швидка.


6

Одна нота про твердотільні диски RAID0 . Переконайтеся, що ваш RAID-контролер (і драйвер!) Підтримує TRIM для RAID-твердотільних накопичувачів. Більшість контролерів RAID - особливо контролерів мікросхем Intel - цього НЕ роблять. Наслідком цього є те, що продуктивність вводу-виводу швидко значно погіршиться в масивах RAID на базі SSD.

Windows 7 і Windows 2008R2 підтримують команду TRIM - коли ваш контролер і драйвер її реалізують.

На цю тему є багато матеріалів на таких сайтах, як tomshardware.com або anandtech.com. Якщо все інше не вдається, ви можете розглянути можливість використання твердотільних накопичувачів у не-RAID, або використання твердотільних накопичувачів для ОС та звичайних великих HD для баз даних тощо. Ви також можете знайти свої конкретні твердотільні накопичувачі на одному з вищезазначених сайтів; продуктивність варіюється набагато ширше, ніж ви можете подумати.


5

Спробуйте вимкнути IntelliTrace. У мене були численні проблеми, пов’язані з повільністю та нестабільністю через цю функцію (це міг бути лише я). Параметр знаходиться в розділі Інструменти> Параметри> IntelliTrace> Увімкнути IntelliTrace.


Хоча моя установка VS 2013 все ще важка на введення-виведення після цього, вона НАБАГАТО чутливіша під час налагодження. Дякую
Адам Гей

4

Звичайно, оперативна пам’ять завжди дуже важлива для великих середовищ розробки, таких як Visual Studio, особливо версії 2010 року, особливо якщо ви використовуєте версію Ultimate, яка включає такі досить об’ємні функції пам’яті, як IntelliTrace та схеми архітектури та моделювання .

Однак однією з головних речей, яку часто не помічають, але може суттєво вплинути на загальну продуктивність Visual Studio, є швидкість жорсткого диска .

Скотт Гатрі (корпоративний віце-президент платформи .NET Developer) написав дуже цікаву статтю саме про цю тему.

Йому кілька років, і він був написаний приблизно за часів Visual Studio 2005, однак, він все ще дуже актуальний сьогодні, оскільки спосіб продовження роботи Visual Studio (зокрема, роботи компіляторів) за цей час не змінився настільки .

Скотт пише:

На конференціях люди часто запитують у мене рекомендації щодо обладнання ПК. Зокрема - "який тип машини ви рекомендуєте отримати для розробки за допомогою Visual Studio?" та / або "ваш ноутбук здається дуже швидким, що це за тип?"

Деякі мої рекомендації щодо цієї теми є досить стандартними та очевидними: в ідеалі ви хочете отримати двоядерне ядро ​​або кращий процесор. Я також завжди рекомендую отримувати принаймні 2 ГБ або більше оперативної пам'яті.

Рекомендація, яку я часто здивую людей, полягає в тому, щоб завжди купувати якнайшвидший жорсткий диск при покупці нової машини - і там, де це необхідно, обмінюватися придбанням додаткової швидкості процесора процесора на користь інвестування в більш швидкий диск замість цього.

Також:

Чому швидкість жорсткого диска має значення?

Багатоядерні процесори на машинах стали досить швидкими за останні кілька років, що в більшості> загальних сценаріїв додатків ви зазвичай не блокуєте наявний процесор> ємність на вашому комп'ютері.

Набагато більше шансів заблокувати - це швидкість пошуку та вводу / виводу, з якою> ваш комп'ютер отримує доступ до вашого жорсткого диска. Якщо ви використовуєте програму, якій потрібно> читати / писати багато файлів, нетипово для завантаження процесора є> дуже низька - оскільки програма може витрачати більшу частину свого часу просто на очікування> операцій на диску Завершувати.

Коли ви розробляєте Visual Studio, ви в кінцевому підсумку читаєте / пишете багато> файлів і витрачаєте велику кількість часу, виконуючи дії вводу-виводу на диску. Великі проекти та рішення можуть містити сотні (або тисячі) вихідних файлів (включаючи зображення, css,> сторінки, елементи керування користувача тощо). Коли ви відкриваєте проект, Visual Studio повинен прочитати та> проаналізувати всі вихідні файли в ньому, щоб забезпечити intellisense. Коли ви реєструєтесь у> керуванні джерелами та перевіряєте файл, ви оновлюєте файли та мітки часу на диску. Коли> ви робите компіляцію рішення, Visual Studio перевірятиме наявність оновлених збірок з> кількох розташувань шляху до диска, виписуватиме кілька нових збірок на диск, коли> компіляція завершиться, а також зберігатиме файли символів відладчика .pdb на диску з їх (усі> як окремі операції збереження файлів).

Якщо у вас повільний жорсткий диск, Visual Studio в кінцевому підсумку буде заблокований, оскільки він чекає його> для завершення цих операцій читання / запису - що може реально сповільнити ваш загальний досвід розробки.

Повну статтю ви можете прочитати тут:

Порада / підказка: Швидкість жорсткого диска та продуктивність Visual Studio


15
Кожного разу, коли корпорація Майкрософт розмовляє про продуктивність VS 2010, відповіді майже однакові - "отримайте більше пам’яті" або найпопулярніші зараз "придбайте собі твердотільний диск, оскільки швидкість жорсткого диска має значення". І є тони дуже розумних статей щодо твердотільних накопичувачів та діяльності вводу-виводу. Чому тоді розробники були задоволені (загалом) VS 2007 без твердотільних накопичувачів? Це точно так само, як і у Vista - весь час це все апаратне забезпечення, а не вина розробників Microsoft. То чому б не говорити про WPF, чи COM, якими переповнений VS, або погану архітектуру / розробників? Повернемося до реальності.
Денис Вуйка

5
@Denis - У вас цілком може бути питання, однак ОП задало конкретне запитання, що стосується пришвидшення роботи VS2010. Я відповів, що, на мою думку, є перевіреною, точною інформацією щодо цього. Тепер ми можемо сперечатися, чи потрібно нам «додавати більше пам’яті» / «змінювати SSD» чи ні, але це не питання тут, і це абсолютно окремий аргумент. Справа в тому, що VS2010 - це те, чим він є, в кращу чи гіршу сторону, і я відповів на запитання відповідно.
CraigTP

2

У вас увімкнено компонент Desktop Experience у вашому інсталяційному сервері Server 2008 R2? На відміну від попередніх версій, Visual Studio 2010 широко використовує WPF, і його продуктивність значно виграє від апаратного прискорення. Увімкнення робочого столу дозволить менеджеру вікон робочого столу, що покращує загальну продуктивність WPF.

З тієї ж причини ви повинні переконатися, що використовуєте найновіші доступні відеодрайвери.


Так. Я переконався, що також встановлено прапорець "використовувати апаратне прискорення". Я регулярно запускаю оновлення Windows, але я подивлюся, чи є новіший драйвер від nVidia.
esac

Ймовірно, слід переконатися, що на серверній машині вимкнено «використовувати апаратне прискорення», якщо випадково встановлена ​​роль Hyper-V (або інша технологія хосту віртуалізації). У будь-якому випадку, я спробував би його вимкнути, щоб побачити, чи це покращить ситуацію.
Ноа Річардс

Спробував і те, і інше, не допомагає. Але у мене не встановлена ​​роль Hyper-V.
esac

2

Якщо ви використовуєте багато проектів для побудови спільного рішення, я рекомендую встановити значення НЕ БУДІВНИЙ у конфігурації властивостей проекту. Це я роблю, щоб пришвидшити своє. Це більш очевидно в часи компіляції ...


2

З таким обладнанням, IMHO, у вас не повинно виникати жодних проблем із продуктивністю, майже незалежно від того, що ви робите. ( 2 x SSD в RAID-0? - ти маніяк !!)

Схоже, ви вже вирішили цю проблему (чи є щось конкретне, чим ви могли поділитися?), Але інша справа, яку потрібно перевірити, - це переконатися, що ваші драйвери відео оновлені. Це дивно, але вони можуть вплинути на багато речей, про які ви б не підозрювали.

Припускаю, ще одним винуватцем може бути також гіперактивний антивірусний пакет ...


Насправді ReSharper здається самим собою величезною свинею. Але я дотримувався цих порад dotnettipoftheday.org/tips/speedup_visual_studio.aspx, а також розвантажував проекти, над якими я зараз не працював, закривав додаткові вікна (панель інструментів, джерела даних тощо), і, здавалося, усім це допомагало.
esac

2

Мені подобається пропозиція щодо модернізації, коли очевидно, що машина палає. Моя пропозиція, якщо це можливо, буде спробувати 2008 рік і подивитися, як він працює. У мене було кілька проблем із 2010 роком, найменше з проблем продуктивності. Задля продуктивності я перейшов на 2008 рік.

Якщо ви можете підтвердити, що проблема виникає або не виникає в попередній версії, ми можемо більше уявити, де проблема.


2

Бренд / контролер ваших твердотільних накопичувачів важливіший за той факт, що вони є твердотільними накопичувачами. Не купуйте дешевий / бюджетний твердотільний диск - вам було б краще з хорошим накопичувачем. Розділіться на високоякісних твердотільних накопичувачах, і ви отримаєте значний прибуток.


2

Якщо ви редагуєте XAML, ви можете просто використовувати редактор вихідного коду замість редактора XAML. Різниця в продуктивності феноменальна:

http://msdn.microsoft.com/en-us/library/bb907321(v=vs.90).aspx

Варто зазначити, що якщо ви відкриєте редактор xaml у будь-який момент, вам потрібно буде перезапустити Visual Studio, щоб повернути продуктивність до нормальної. Недостатньо закрити редактор xaml.


1

Єдиний спосіб отримати ssd на raid0 з підтримкою обробки - це новий ocz revo 3, 1,5 Гб читання / 1,25 Гб запису. Більш доступним і стабільним рішенням для рейдових ssd без обробки є придбання ssd на sata 3 (550 Мб / с).


0

Як згадував Метт, можливо, ви захочете додати більше оперативної пам’яті на свою машину, але якщо вона дійсно «забивається» кожного разу, коли ви залишаєте її відкритою протягом години, можливо, ви захочете зв’язатися з командою VS ( http: // connect. microsoft.com ), подайте звіт про помилку та запустіть інструменти діагностики продуктивності, які вони вам надішлють.

Ці хлопці дійсно мені дуже допомогли в минулому, і я впевнений, що вони готові допомогти вам відстежити справжню причину повільних спадів.

Окрім цього, я можу сказати вам, що моя основна машина для розробки має 8 ядер Xeon і 12 ГБ оперативної пам'яті. На цій машині великі рішення компілюються всього за кілька секунд, тоді як компіляція на моєму двоядерному macbook може зайняти до хвилини. Але з моменту випуску RTM я не зазнав жодного повільного падіння, подібного до того, що ви описуєте.

Я припускаю, що ви використовуєте тут версію RTM, чи можете ви дати нам специфікації вашої машини? Апаратне і програмне забезпечення?

Дуже важко допомогти вам на основі обмеженої інформації.


Я даю фізичні характеристики в коментарях до публікації Метта. Однак: Intel Q9550 на 2,83 ГГц, 4 ядра, 8 ГБ фізичної оперативної пам'яті, 2 х 60 ГБ твердотільного накопичувача в поєднанні RAID0 для рішення / проекту. Програмне забезпечення VS2010 RTM Ultimate, Windows Server 2008 x64 R2 (набір продуктивності для програм).
esac

1
З такою машиною вам слід шукати щось, що спричиняє це, тому що це не нормально. Найкращий варіант - зв’язатися з командою VS.
TimothyP

0

Я припускаю, що ви використовуєте C #, але якщо ви використовуєте C ++, можливо, ви можете спробувати вимкнути intellisense? Я думав, що це мало бути краще в 2010 році, але попередні версії завжди отримували прискорення, коли я зламував intellisense.

Якщо це те саме, що було в 2005 році, ви можете вимкнути intellisense, перейменувавши feacp.dll у [проти кореневої директорії] \ vc \ vcpackages.


2
Я використовую C #. Я сумніваюся, що я до такої міри, що можу вимкнути інтелісенс у цьому. Варто повільнішого досвіду для збільшення продуктивності: P
esac
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.