ExerciseStabilizer — отмываем окна от джиттера

Поставить 64 битную версию Win.

1 лайк

Не поплохеет ? А-то знаем - Лучшее-враг хорошего ))

Можете попробовать утилиту его же авторства примерно пятилетней давности - All Core Any Cures, были готовые бинарники как 32-х, так и 64-битные. Под Win, Linux и MacOS. Об аналогах мне ничего не известно.

1 лайк

Вам предлагают инсталлировать 64-битную Windows.

2 лайка

Я давно перешёл на Win64, весь софт под нее пишется в основном. Ключи все есть на еЬей.

Спасибо )) Не понял сразу …

1 лайк

Наконец то, сделали отдельную ветку про чудо-утилиту :clap:

3 лайка

по религиозно-политическим соображениям ))

1 лайк

Я бы предостерег от использования All cores any cures, так как сам разработчик признал, что эта программа была небезопасна для железа в некоторых случаях, т.к. мог происходить резкий скачок питания, устройство, подключенное к USB напрямую, могло не пережить такого.

Судя по зарубежным форумам, с некоторыми версиями Minority Clean наблюдается аналогичная ситуация и их “отзывают из обращения”. Всё на свой страх и риск, хотя, глядя на исходный код, затрудняюсь с указанием возможных причин подобного поведения аппаратной части. Повторюсь, я сварщик ненастоящий :wink:

2 лайка

Специально не касался личности автора, т.к. не могу отказать любому живому человеку в праве сделать что-то уникальное и полезное.

Тем временем перешёл на версию 94.

2 лайка

:fearful: да нуна… ? Прямо так про себя и сказал ?

Ещё не видел…как?

Да, так и сказал. И бреда много пишет, в том числе и про программу.
Но она, блин, РАБОТАЕТ!!!
И изображение тоже улучшает, прямо четко я это прочувствовал.
Надеюсь, в результате он выведет windows на первое место. А еще лучше, если потом выпустит версию под linux, arm и т.д.
32 бит под windows и arca os до кучи.
К слову, мне он ответил, что выпустит версию для linux в 2035 году. Одно это многое говорит о его душевном состоянии. Но гений, что есть, то есть.

3 лайка

Понять и простить :latin_cross: ! Вы ему подскажите про 32 бит, мол есть сведения от конкурентных внеземных разработчиков, что это последний правильный путь в катарсис )). Гениев направлять надо, а то натворят делов :wink:

Часа не прошло, как поставил. Трудно сказать с первых минут. Хуже точно не стало)


Провел микроэксперимент. Записал на рекордер Tascam DR-40 (ну так себе рекордер) фрагмент любимой песни, упомянутой в первом сообщении темы, Zee Avi - Honey Bee, несколько секунд вступления. Без программы, затем с программой - всё в один файл. Честно говоря, не уверен, что запись на рекордер что-то покажет, всё-таки аналого-цифровое преобразование происходит, но почему бы и нет. Громкость не трогал, да и вообще ничего кроме программы не трогал.

https://yadi.sk/d/9qwDN9sS8R1ieA (14 Мб)

2 лайка

Второй вариант играет чуть тише. Больше разницы не услышал.

1 лайк

Одним из практических приложений криптографии является реализация генератора истинно случайных чисел, т.е. криптографически стойкого. В 2013-м году Stephan Müller предложил CPU Time Jitter Based Non-Physical True Random Number Generator, основанный на недетерминированности временных интервалов между исполнением центральным процессором одних и тех же инструкций в цикле. Иными словами, в качестве источника энтропии выступает “CPU execution time jitter”. Поскольку генератор должен, в числе прочих, удовлетворять требованиям стандарта NIST SP 800-90B, проводились проверки, целью которых был поиск условий, приводящих к искажению распределения (и, соответственно, трансформации в генератор псевдослучайных чисел). Выяснилось, что к ним относятся так называемые “serializing instructions”:

Full serializing instructions like cpuid are also full memory barriers, draining the store buffer as well as flushing the pipeline. Does lock xchg have the same behavior as mfence? has relevant quotes from Intel’s manual.

On Intel processors, the following are architecturally serializing instructions (From: Page 273):

  • Privileged serializing instructions — INVD, INVEPT, INVLPG, INVVPID, LGDT, LIDT, LLDT, LTR, MOV to control register, MOV (to debug register), WBINVD, and WRMSR.Exceptions: MOV CR8 isn’t serializing. WRMSR to the IA32_TSC_DEADLINE MSR (MSR index 6E0H) and the X2APIC MSRs (MSR indices 802H to 83FH) are not serializing.
  • Non-privileged serializing instructions — CPUID, IRET1, and RSM

On AMD processors, the following are architecturally serializing instructions:

  • Privileged serializing instructions — INVD, INVLPG, LGDT, LIDT, LLDT, LTR, MOV to control register, MOV (to debug register), WBINVD, WRMSR, and SWAPGS.
  • Non-privileged serializing instructions — MFENCE, CPUID, IRET, and RSM

The instruction for which Serialized_Instruction is issued causes serialization. When serialization occurs, execution is delayed until all previous instructions execute and retire, and their results are written back to memory.

These instructions cause serialization:

  • read-modify-write instructions with lock prefixes
  • XCHG with a memory operand
  • MOV instructions to control or debug registers

Казалось бы, какое отношение всё выше перечисленное имеет к теме данной ветки? Неспешно просматривая листинг MinorityClean X, нетрудно заметить присутствие указанных инструкций в ассемблерных вставках. Учитывая, что код исполняется в бесконечном цикле, одним из возможных механизмов косвенного влияния может служить изменение распределения “CPU execution time jitter” со случайного на детернимированный.
В принципе, выдвинутое предположение может быть подтверждено (либо опровергнуто) статистическим анализом массива выходных значений указанного генератора на достаточно большой выборке (не менее 100 тыс.) при параллельном выполнении утилиты MinorityClean.

11 лайков

Прошу прощения, вы уже попробовали программу? Было бы здорово получить ваш отзыв)

1 лайк

Во-первых, это не вопрос веры, ибо пресловутое “влияние” на задержки выполнения команд поддаётся верификации и находится вне зоны субъективных оценок. Тестирование ничем принципиально не отличается от сравнения low-latency и rt-ядер в Linux (для разнообразия можно добавить различные планировщики).
Во-вторых, несложно спрогнозировать сценарий, при котором наблюдаемый эффект может быть минимизирован. Например, изоляция выполняемых параллельно аудиопроигрывателя/драйвера устройства воспроизведения и обсуждаемой утилиты не просто по разным ядрам, а вообще по отдельным многоядерным процессорам. Конечно, при этом остается общий пулл оперативной памяти, но кеши L1/L2/L3 и конвейеры уже физически разные.
Подобный подход “разделяй & властвуй” практикуют разработчики Taiko Audio.

3 лайка