Важная информация

User Tag List

Показано с 1 по 7 из 7

Тема: Как измерить количество тактов в дебаггере

  1. #1
    Master Аватар для sq/skrju
    Регистрация
    11.02.2005
    Сообщений
    541
    Благодарностей: 301
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Как измерить количество тактов в дебаггере

    Глупый вопрос, но запамятовал, а нагуглить не смог: как измерить количество тактов определённого куска кода в дебаггере UnrealSpeccy? В левом нижнем углу написано time delta. Что нужно сделать, чтобы там показывались такты нужного мне куска?

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Master Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    580
    Благодарностей: 491
    Записей в дневнике
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Profi v3.2 -=- Speccy2010,r2

  4. Этот пользователь поблагодарил zebest за это полезное сообщение:
    sq/skrju (09.09.2012)

  5. #3
    Master Аватар для sq/skrju
    Регистрация
    11.02.2005
    Сообщений
    541
    Благодарностей: 301
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Угу, ещё нашёл второй вариант - поставить PC в начало измеряемого куска, а курсор в конец - и нажать F4, что, в общем-то, то же самое.
    Проблема возникает, когда в этом куске кода встречаются условные RET.

  6. #4
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,288
    Благодарностей: 749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Кстати в unreal тайминги некоторых инструкций некорректные. Еще в unreal с таймингами прерываний была проблемка, насколько помню что-то связаное с halt'ом, но заметить это можно только при определенных условиях. Деталей уже не помню. Для пентагона такие неточности +-1 такт не так страшны, а вот на contended memory это привело бы к серьезным ошибкам.
    Последний раз редактировалось ZXMAK; 09.09.2012 в 22:53.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  7. #5
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,336
    Благодарностей: 430
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если процедура шибко большая и в один кадр не укладывается, то можно выставить перед замером какое-нибудь космическое число тактов в кадре, чтобы счетчик тактов не успевал сбрасываться на нуль.
    zxart.ee - самая крупная коллекция графики и музыки ZX Spectrum.

  8. #6
    Guru
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,083
    Благодарностей: 924
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в унреале достаточно перед тестируемой прогой запретить прерывания, нажать F8 на CALL в эту прогу и увидеть число тактов, сколько она сьела (и пофиг сколько там RET'ов).

    что касается неправильных тактов - пруф в студию, очень интересно.

  9. #7
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,288
    Благодарностей: 749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    что касается неправильных тактов - пруф в студию, очень интересно.
    насколько помню одну из ошибок можно было поймать при выполнении HALT в одном из режимов прерываний (толи IM0 толи IM1) - после обработки прерывания счетчик тактов сбивается на 1 такт. Что касается инструкций, то это были какие-то префиксированные инструкции,помоемому FDCB, но точно не помню.
    ZXMAK2 - Виртуальная Машина ZX Spectrum http://zxmak2.codeplex.com
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 1
    Последнее: 19.01.2011, 22:05
  2. Операторы бейсика. Сколько тактов?
    от captain cobalt в разделе Программирование
    Ответов: 20
    Последнее: 20.12.2007, 17:07
  3. Замер тактов в Unreal
    от moroz1999 в разделе Программирование
    Ответов: 5
    Последнее: 05.11.2007, 12:50
  4. Ответов: 0
    Последнее: 20.04.2007, 14:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •