Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 853

•  TDictionary Custom Sort  6 832

•  Fast Watermark Sources  6 614

•  3D Designer  9 578

•  Sik Screen Capture  6 957

•  Patch Maker  7 400

•  Айболит (remote control)  7 347

•  ListBox Drag & Drop  6 206

•  Доска для игры Реверси  98 255

•  Графические эффекты  7 522

•  Рисование по маске  6 804

•  Перетаскивание изображений  5 656

•  Canvas Drawing  6 038

•  Рисование Луны  5 832

•  Поворот изображения  5 281

•  Рисование стержней  3 870

•  Paint on Shape  3 024

•  Генератор кроссвордов  3 983

•  Головоломка Paletto  3 157

•  Теорема Монжа об окружностях  3 998

•  Пазл Numbrix  2 637

•  Заборы и коммивояжеры  3 453

•  Игра HIP  2 367

•  Игра Go (Го)  2 285

•  Симулятор лифта  2 680

•  Программа укладки плитки  2 244

•  Генератор лабиринта  2 801

•  Проверка числового ввода  2 403

•  HEX View  2 746

•  Физический маятник  2 435

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Активизация и использование в IDE окна CPU



CPU not found! Users software emulation!

Предупреждение: Окно CPU еще до конца не оттестировано и может иногда приводить к ошибкам. Если у вас есть проблемы с отладчиком, или при запуске вашей программы вы не можете им воспользоваться, окно CPU может помочь решить ваши проблемы. Обычно его не требуется включать, если только у вас не "особый случай".

В Delphi 2 эта характеристика встроена, но по умолчанию выключена, называется это окно CPU window, или DisassemblyView. Она легка в использовании, может быть полезной в отладке и сравнении кода при его оптимизации.

Для активизации этой характеристики, запустите REGEDIT и отредактируйте регистры описанным ниже образом. Найдите ключ HKEY_CURRENT_USER\Software\Borland\Delphi\2.0\Debugging. Создайте по этому пути строковый ключ с именем "ENABLECPU". Значение нового ключа должно быть строкой "1". Это все. Теперь в Delphi IDE появился новый пункт меню View|CPUWindow. При его активизации выводится новое окно.

Теперь, чтобы понять какое мощное средство оказалось в ваших руках, сделаем сравнительный анализ генерируемого кода для двух примеров, имеющих одинаковую функциональность, но достигающую ее разными путями.

Создайте 2 одинаковых обработчика события. В каждом обработчике события разместите приведенный ниже код. Установите точку прерывания на первой строчке каждого обработчика. Запустите приложение и активизируйте события. Сравните ассемблерный код обоих методов. Один короче? В этом случае он будет исполняться быстрее.

Достойными для такого рода анализа могут быть участки кода, многократно выполняемые в процессе работы программы, или критические ко времени выполнения.

Хорошим примером, где различный код выполняет одну и ту же работу, но делает это с разной скоростью, является использование конструкции "with object do". Исходный код с многократным использованием конструкции "with object do" будет длиннее, но ассемблерный код короче. Вспомните, сколько раз вы устанавливали свойства для динамически создаваемых объектов? Код:


with TObject.create do
begin
  property1 := ;
  property2 := ;
  property3 := ;
end;

будет выполняться быстрее, чем


MyObj := TObject.create;
MyObj.Property1 := ;
MyObj.Property2 := ;
MyObj.Property3 := ; 


Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте