Блог gunsmoker-а (переклади) час запуску delphi і кухня конфігурацій

Час запуску Delphi і кухня конфігурацій

Для реалізації всіх характеристик і функціональності IDE потрібно завантажити значна кількість модулів (в основному DLL і збірок .NET). Залежно від версії продукту і встановлених компонентів, при завантаженні легко може завантажуватися більше 400 різних модулів під час запуску середовища. Вони включають в себе такі речі, як файли пакетів, які надають функції IDE, пакети компонентів, які забезпечують роботу компонентів для створення додатків в IDE, системні файли, типу kernel32.dll, файли фреймворку .NET, і багато, багато інших типів модулів.

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


Прямо під цим ключем ви побачите набір строкових значень для різних пакетів IDE. наприклад:

Справжній секрет, яким я хочу поділитися сьогодні з вами, полягає в тому, що вибіркова завантаження пакетів не прив'язана до personality. Це просто загальний механізм, який може бути налаштований так, як ви захочете. Що означає, що ті, хто обожнює все точно керувати, тільки що одержали б ще один інструмент в свою скарбничку. Ви можете впорядкувати пакети IDE будь-яким зручним вам способом. Все, що вам треба зробити - відредагувати під-ключі реєстру.

Перш, ніж я пірну в обговорення способів це зробити, я хотів би викласти важливу інформацію про ключі -p. По-перше, ви можете передавати кілька імен під-ключів, розділяючи їх крапкою з комою. Наприклад, якщо ви хочете завантажити Delphi і Delphi .NET, то ви можете використовувати ключ -pDelphi; DelphiDotNet. Друге: пакети, зазначені в самому ключі "Known IDE Packages" будуть завантажуватися завжди, незалежно від того, зазначений ключ -p чи ні.

Гарне питання. Є кілька очевидних ситуацій, коли ви захочете зробити це. Перша буде розробкою компонента, коли вам необхідно налагодити код дизайнера компонента. Для цього ви зазвичай запускаєте другу копію IDE, до якої підключаєтеся отладчиком першої IDE. Вам доведеться запускати і зупиняти цю другу IDE багато разів, тому ви заощадите багато часу, якщо вона буде завантажувати тільки мінімальний набір пакетів, необхідних для налагодження. Якщо у вас досить швидка машина (> = 2 ГГц) з достатньою кількістю пам'яті (> = 768 Мб), то цілком можливо зробити так, щоб друга копія запускалася за кілька секунд.

Друга причина: в IDE є купа функціональності. Є хороші шанси, що ви не використовуєте всю її в кожній робочій сесії. Налаштувавши завантаження пакетів IDE, ви можете значно скоротити час запуску середовища, якщо ви не будете вантажити пакети, які ви використовуєте рідко або не використовуєте зовсім. Приємною особливістю ключа -p є те, що ви в будь-який момент можете отримати доступ до повної конфігурації, просто запустивши середу з іншого командним рядком.

Давайте почнемо з переміщення всіх пакетів під "Known IDE Packages" в окремий під-ключ. Це дозволить вам легко зробити IDE з практично "нульовим відбитком" (згадайте, що пакети в самому ключі "Known IDE Packages" не можуть завантажуватися вибірково, тому ми переміщаємо їх, щоб дозволити вибіркову завантаження).

Зробіть копію цього рядка близько початку файлу:


Зауважте, що ми додали рядок "\ IDECore". Файл повинен тепер починатися приблизно так:


Як ви можете здогадатися, цим простим дією ми перемістили все пакети ключа "Known IDE Packages" в ключ "Known IDE Packages \ IDECore".

Щоб перевірити ефект від зміни - відкрийте командний рядок. Вона дозволить нам перевіряти різні варіанти без необхідності створення купи ярликів. Як тільки ви налаштуєте свої конфігурації - ви можете створити до них ярлики пізніше.

У командному рядку змініть каталог на папку виконуваних файлів BDS (командою: cd "C: \ Program Files \ Borland \ BDS \ 4.0 \ bin").

Спочатку давайте перевіримо нашу нульову конфігурацію. Якщо ми передамо в -p неіснуючий ключ, то ми просто нічого не завантажимо. Тому наберіть в командному рядку таку команду:


і дивіться як швидко вскочет IDE! Однак, в цій конфігурації в IDE не завантажене ніяких корисних пакетів, так що вона досить марна - хіба що для редагування текстових файлів, але було забавно побачити, як швидко може запуститися порожня оболонка IDE! Тепер давайте спробуємо мінімальну personality Delphi. Закрийте середу і перезапустіть її з такою командним рядком:


Це займе більше часу, але не багато. Оскільки ми перемістили основні пакети в під-ключ IDECore і не вказали його в командному рядку, то багато речей буде пропущено. Потім, давайте закриємо середу і спробуємо:


Цього разу середовище починає завантажуватися довше і ви можете бачити, як вантажаться пакети. Сейча це в точності еквівалентно конфігурації за замовчуванням для ярлика "Borland Delphi for Microsoft Win32", який створював установник. І останньою річчю, яку ми спробуємо, буде:


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

Я також відредагував опису різних пакунків, щоб мати опис для всіх. За замовчуванням у багатьох пакетів ви побачите тільки "(Untitled)" - що не дуже корисно при розумінні того, що робить цей пакет.

Використовуючи цю конфігурацію, я можу, наприклад, створити ярлик до BDS.EXE з параметрами -pIDECore; Delphi і назвати його "Delphi Lite", або -pIDECore; IDEExtras; Delphi; DelphiExtras і назвати його "Delphi Full".

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

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