Собственно возникла проблема.
Схему я выкладывать не буду ибо она полностью основана на одной программе и без ней не пойдёт.
Я просто пишу GUI в HiAsm для проги которая выполняется в CMD.
При работе программы примерно в 0.5 милисекунд меняется 2 значения. Впринципи мне особо не важна скорость обновления. Но дела в том то результат консоли я получаю не последний, а набор всех последних. Результат выдается почему-то спустя секунд 5-10 и там не только последние значение а все за прошедшие 10 секунд.
Вот скрин этого месива:
А мне нужны ТОЛЬКО последние 3 релультата и чем быстре обновление тем лучьше. А он вон 1000 результатов выдаёт. Сама прога грузит 50% цп и 95% GPU. Это из-за того что её действие основано только на вычеслительной мощи видеокарты (используется для востановления паролей, скорость в 290-300 миллионов паролей в минуту). В общем плиз хелп как полать только самый последний рзультат исключая все предедушие?
Из компонентов использовал WinExec для запуска проги через скрытую консоль и вывод результата на элемент Memo (который и показан на скрине).
Этот топик читают: Гость
Ответов: 28
Рейтинг: -2
|
|||
карма: 1 |
| ||
Голосовали: | lisabon |
Ответов: 1397
Рейтинг: 50
|
|||
Да, сделал за пару минут такую схему. Все работатет и процессор грузит на 5-10%, но схему я выкладывать не буду, т.к. она основана на другой схеме сделанной в HA. И скрин неохота выкладывать почему то.
|
|||
карма: 0 |
| ||
Голосовали: | lisabon, Sega |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
| ||
файлы: 1 | code_13267.txt [366B] [198] |
Ответов: 28
Рейтинг: -2
|
|||
Вы просто не знаете эту программу. Схема моя это всего-лишь GUI. Вы хоть представляете 301 000 000 паролейсекунда? Это наверное как 20 passwords pro. Она основана на CUDA от Nvidia. У меня 4 проца. 2 их них при этом на 100% и видеокарта на 90%.
Ув Dilma да, на вашей схеме и на пне первом всё пойдёт но когда идёт обработка такого чила цифр и программа пытается вывести их все то выходит месиво. Обычные команды действительно идут норм. Но эта прога всё выворачивает как может... И данные кстати выдаются тоже странно. Почему-то все вместе. Просто hiasm пытается совершить невозможное, выводя за 1 секунду как минимум 1000 значений. Можно ли какнибудь поставить задержку? Например 1 результат раз в 5-10 секунд? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
maybe_later, это пиар акция или решение проблемы? Если второе, то просьба предоставить макет программы или комплекс программ, демонстрирующих проблему на компьютере без карточки от Nvidia. В противном случае искать решение бессмыслено.
|
|||
карма: 27 |
|
Ответов: 28
Рейтинг: -2
|
|||
Вот что я делаю:
Есть программа называется Extreme GPU Bruteforcer. Она работает только на видеокартах nvidia с cuda. Но дело в том что получать с неё все данные при изменении значений не возможно. Дело в том что скорость смены значений 301 миллион значений в секунду. Cmd обновляется примерно раз в секунду поэтому там всё отображается плавно - cmd не стремиться отобразить все 301 миллионов изменений, а WinExec просто убивает себя тем что пытается получить все изменения этих значений. И так как она не может передать все эти значения то берёт какойт-то кусок этого всего и выдаёт его в таком виде как на скриншоте. Просто через CMD работать для меня это как на dos'е вместо винды сидеть. Вот я и решил написать GUI. Сама Extreme GPU Bruteforcer загружает почти всю видеокарту и на 100% 1 процессор. Я думал сначала что проблема в этом. Но ведь в CMD всё норм отображается. А у WinExec видимо не стоит ограничения сколько макс изменений он может вывести за 1 секунду. Мне кажется надо лишь немного отредактировать WinExec на макс вывод результатов за 1 секунду и всё будет норм. И Extreme GPU Bruteforcer работает только на nvidia от серии 8800 потому, что только они поддерживают cuda. ATI его не поддерживает и оч на вряд-ли что будет. Другими словами мне кажется что WinExec работает некорректно когда результат обновляется слишком бысро. Ему просто нужно ограничение. Например макс 1 результат в 1 секунду. Вот вывод с WinExec во время работы:
Видите? Это явно не задержка в 1 секунду. И извиняюсь это запись задом на пёред. Её надо снизу вверх смотреть. |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
maybe_later, в WinExec стоит цикл, который занимается мониторингом выходного потока консоли на предмет наличия в нем данных. Чтение этих данных происходит в тот момент, когда функция сообщаят о их наличии в буфере. Любая задержка в этом процессе получения данных приведет к еще большему накоплению буфера. А это значит, что лишние данные надо отсеивать программно или понижать частоту вывода информации в консоль из программы "Extreme GPU Bruteforcer"
|
|||
карма: 27 |
|
Ответов: 373
Рейтинг: 108
|
|||
maybe_later, Q8: Как мне сохранить найденные пароли, которые программа печатает на экране?
A: Кроме отображения найденных паролей на экране консоли, каждый модуль накапливает их в своем DIC-файле, а также добавляет их в формате "Хэш:Пароль" в OUT-файл, который автоматически создается в каталоге программы после ее запуска. http://www.insidepro.com/rus/egb.shtml#600 |
|||
карма: 0 |
|
Ответов: 8
Рейтинг: 2
|
|||
попробуй запустить
имя_программы > файл_любой.txt в досовских прогах это вывод в файл все что выводиться на экран |
|||
карма: 0 |
| ||
Голосовали: | Andrey |
9