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

User Tag List

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

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

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Master Аватар для sq/skrju
    Регистрация
    11.02.2005
    Сообщений
    544
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

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

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

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

  3. #2
    Veteran Аватар для zebest
    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,668
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    320
    Спасибо Благодарностей получено 
    221
    Поблагодарили
    174 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    Profi v3.2 -=- Speccy2010,r2

  4. #3
    Master Аватар для sq/skrju
    Регистрация
    11.02.2005
    Сообщений
    544
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #4
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  6. #5
    Guru Аватар для moroz1999
    Регистрация
    17.01.2005
    Адрес
    Tallinn
    Сообщений
    2,517
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    86
    Поблагодарили
    39 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  7. #6
    Banned
    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

  8. #7
    Veteran Аватар для ZXMAK
    Регистрация
    30.01.2006
    Адрес
    Харьков
    Сообщений
    1,404
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    19
    Поблагодарили
    13 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    что касается неправильных тактов - пруф в студию, очень интересно.
    насколько помню одну из ошибок можно было поймать при выполнении HALT в одном из режимов прерываний (толи IM0 толи IM1) - после обработки прерывания счетчик тактов сбивается на 1 такт. Что касается инструкций, то это были какие-то префиксированные инструкции,помоемому FDCB, но точно не помню.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка 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. TIMEX COMPUTERS TC2048 NTSC - Сколько тактов проца в строке ?
    от fan в разделе Зарубежные модели
    Ответов: 0
    Последнее: 20.04.2007, 16:47

Ваши права

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