Вход

Просмотр полной версии : EmuStudio-ZX



Страницы : 1 [2] 3

Titus
10.10.2013, 00:31
На стоп не реагирует, не могу скопипастить, что то происходит при старте
Звука нет, Win8 x64
При запуске

Так, уже ура. Вывод инициализировался правильно, только не может получить с него данные о позиции.
Щас уберем это временно.

Titus
10.10.2013, 00:33
Если не зависнет, но звука не будет, возможно он просто не слышен, т.к. выводится в первое устройство - secondarylineoutwave

ZEK
10.10.2013, 00:38
возможно он просто не слышен, т.к. выводится в первое устройство
Смотрю на список звуковых устройств, там уровень сигнала не скачет

Звук не слышно



0.501: Entering RenderThreadProc
0.503: Device found
0.504: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.505: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.505: Found SINK IN Pin, id = 0, hr = 0
0.505: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.508: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.510: Pin 0: Communication type = 1
0.510: Total 6 DataRanges
0.510: Interface GUID {1A8766A0-62CE-11CF-A5}
0.511: Interfice ID 1
0.511: Found SINK IN Pin, id = 0, hr = 0
0.511: Pin 1: Communication type = 0
0.512: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.512: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.513: Pin 0: Communication type = 1
0.513: Total 1 DataRanges
0.514: Interface GUID {1A8766A0-62CE-11CF-A5}
0.514: Interfice ID 1
0.514: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.515: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.515: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.518: Pin 0: Communication type = 1
0.520: Total 1 DataRanges
0.521: Interface GUID {1A8766A0-62CE-11CF-A5}
0.521: Interfice ID 1
0.521: Found SINK IN Pin, id = 0, hr = 0
0.522: Pin 1: Communication type = 0
0.522: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.522: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.523: Pin 0: Communication type = 1
0.523: Total 2 DataRanges
0.524: Interface GUID {1A8766A0-62CE-11CF-A5}
0.524: Interfice ID 1
0.524: Found SINK IN Pin, id = 0, hr = 0
0.525: Pin 1: Communication type = 0
0.525: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.525: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.526: All devices enumerated
0.527: Filters enumerated
0.527: Filter for rendering is avaliable
0.528: Total 5 filters
0.528: Try WAVEFORMATEXTENSIBLE format
0.529: Pin Looped 1
0.530: Successfully instantiated Render Pin. Handle = 0x00000154
0.530: Pin for rendering is avaliable
0.531: Заполнение буфера 16-битным синусом
0.536: Pin state is KSSTATE_STOP

Titus
10.10.2013, 00:40
Смотрю на список звуковых устройств, там уровень сигнала не скачет

Звук не слышно
Раз лог сходит с ума (ведет себя не так, как надо, и не останавливается), значит что-то не так, и звука может и нет.

Хотя уже хорошо, что наконец-то устройства хотя бы согласились выводить звук. Видимо, принцип вывода, как в streaming звуке им не совсем подходит... нда... надо подумать.

Titus
10.10.2013, 00:44
Попробуем ввести секундную паузу перед сообщениями при включенном звуке, чтобы сделать лог и может можно будет нажать стоп.

ZEK
10.10.2013, 00:47
0.501: Entering RenderThreadProc
0.503: Device found
0.503: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.504: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.505: Found SINK IN Pin, id = 0, hr = 0
0.505: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.509: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.510: Pin 0: Communication type = 1
0.511: Total 6 DataRanges
0.511: Interface GUID {1A8766A0-62CE-11CF-A5}
0.511: Interfice ID 1
0.511: Found SINK IN Pin, id = 0, hr = 0
0.512: Pin 1: Communication type = 0
0.512: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.513: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.513: Pin 0: Communication type = 1
0.514: Total 1 DataRanges
0.514: Interface GUID {1A8766A0-62CE-11CF-A5}
0.515: Interfice ID 1
0.515: Found SINK IN Pin, id = 0, hr = 0
0.515: Pin 1: Communication type = 0
0.515: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.516: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.520: Pin 0: Communication type = 1
0.525: Total 1 DataRanges
0.526: Interface GUID {1A8766A0-62CE-11CF-A5}
0.526: Interfice ID 1
0.526: Found SINK IN Pin, id = 0, hr = 0
0.527: Pin 1: Communication type = 0
0.527: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.528: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.528: Pin 0: Communication type = 1
0.529: Total 2 DataRanges
0.529: Interface GUID {1A8766A0-62CE-11CF-A5}
0.530: Interfice ID 1
0.530: Found SINK IN Pin, id = 0, hr = 0
0.531: Pin 1: Communication type = 0
0.531: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.531: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.532: All devices enumerated
0.533: Filters enumerated
0.533: Filter for rendering is avaliable
0.534: Total 5 filters
0.534: Try WAVEFORMATEXTENSIBLE format
0.535: Pin Looped 1
0.537: Successfully instantiated Render Pin. Handle = 0x00000168
0.537: Pin for rendering is avaliable
0.538: Заполнение буфера 16-битным синусом
0.544: Pin state is KSSTATE_STOP
7.764: Setting Pin to KSSTATE_RUN ...
8.767: Packet 0 is available... Submitting packet 0
9.772: Packet 0 is available... Submitting packet 0
10.773: Packet 0 is available... Submitting packet 0
11.774: Packet 0 is available... Submitting packet 0
12.780: Packet 0 is available... Submitting packet 0
13.782: Packet 0 is available... Submitting packet 0
14.793: Packet 0 is available... Submitting packet 0
15.796: Packet 0 is available... Submitting packet 0
16.798: Packet 0 is available... Submitting packet 0
17.800: Packet 0 is available... Submitting packet 0
18.802: Packet 0 is available... Submitting packet 0
19.806: Packet 0 is available... Submitting packet 0
20.808: Packet 0 is available... Submitting packet 0
21.820: Packet 0 is available... Submitting packet 0
22.824: Packet 0 is available... Submitting packet 0
23.828: Packet 0 is available... Submitting packet 0
24.839: Packet 0 is available... Submitting packet 0
25.843: Packet 0 is available... Submitting packet 0
26.845: Packet 0 is available... Submitting packet 0
27.848: Packet 0 is available... Submitting packet 0
28.854: Packet 0 is available... Submitting packet 0
29.859: Packet 0 is available... Submitting packet 0

Titus
10.10.2013, 00:51
Стоп не срабатывает?

ZEK
10.10.2013, 00:54
Нет

Titus
10.10.2013, 00:55
Будем искать ошибки в сигналах.

ZEK
10.10.2013, 01:00
Звука нет, на стоп не реагирует, ошибки в логе выскочили при сворачивании


0.501: Entering RenderThreadProc
0.503: Device found
0.504: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.504: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.505: Found SINK IN Pin, id = 0, hr = 0
0.506: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.509: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.510: Pin 0: Communication type = 1
0.511: Total 6 DataRanges
0.511: Interface GUID {1A8766A0-62CE-11CF-A5}
0.512: Interfice ID 1
0.512: Found SINK IN Pin, id = 0, hr = 0
0.512: Pin 1: Communication type = 0
0.513: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.513: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.514: Pin 0: Communication type = 1
0.515: Total 1 DataRanges
0.515: Interface GUID {1A8766A0-62CE-11CF-A5}
0.515: Interfice ID 1
0.515: Found SINK IN Pin, id = 0, hr = 0
0.516: Pin 1: Communication type = 0
0.516: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.516: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.520: Pin 0: Communication type = 1
0.522: Total 1 DataRanges
0.523: Interface GUID {1A8766A0-62CE-11CF-A5}
0.523: Interfice ID 1
0.524: Found SINK IN Pin, id = 0, hr = 0
0.524: Pin 1: Communication type = 0
0.524: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.525: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.525: Pin 0: Communication type = 1
0.526: Total 2 DataRanges
0.526: Interface GUID {1A8766A0-62CE-11CF-A5}
0.527: Interfice ID 1
0.527: Found SINK IN Pin, id = 0, hr = 0
0.528: Pin 1: Communication type = 0
0.528: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.529: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.529: All devices enumerated
0.530: Filters enumerated
0.531: Filter for rendering is avaliable
0.531: Total 5 filters
0.531: Try WAVEFORMATEXTENSIBLE format
0.532: Pin Looped 1
0.533: Successfully instantiated Render Pin. Handle = 0x00000130
0.533: Pin for rendering is avaliable
0.534: Заполнение буфера 16-битным синусом
0.539: Pin state is KSSTATE_STOP
9.851: dwWait = 4
9.861: Setting Pin to KSSTATE_RUN ...
9.862: dwWait = 0
10.866: Packet 0 is available... Submitting packet 0
10.868: dwWait = 0
11.871: Packet 0 is available... Submitting packet 0
11.875: dwWait = 0
..............................
21.949: dwWait = 0
22.951: Packet 0 is available... Submitting packet 0
22.954: dwWait = 0
23.562: Losing focus!! We must relenquish our resources ...
23.959: Packet 0 is available... Submitting packet 0
23.962: dwWait = 0
24.966: Packet 0 is available... Submitting packet 0
24.967: dwWait = 0
25.972: Packet 0 is available... Submitting packet 0
25.975: dwWait = 0
26.977: Packet 0 is available... Submitting packet 0
26.980: dwWait = 0
........................


43.082: dwWait = 0
44.084: Packet 0 is available... Submitting packet 0
44.087: dwWait = 0
45.089: Packet 0 is available... Submitting packet 0
45.093: dwWait = 0
45.361: Gaining focus!! Must build graph ...
45.868: Entering RenderThreadProc
45.870: Device found
45.872: Pin 0: Communication type = 1
45.875: Total 1 DataRanges
45.876: Interface GUID {1A8766A0-62CE-11CF-A5}
45.878: Interfice ID 1
45.879: Found SINK IN Pin, id = 0, hr = 0
45.881: Pin 1: Communication type = 0
45.882: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
45.884: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
45.885: Pin 0: Communication type = 1
45.887: Total 6 DataRanges
45.889: Interface GUID {1A8766A0-62CE-11CF-A5}
45.890: Interfice ID 1
45.892: Found SINK IN Pin, id = 0, hr = 0
45.894: Pin 1: Communication type = 0
45.896: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
45.898: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
45.900: Pin 0: Communication type = 1
45.904: Total 1 DataRanges
45.905: Interface GUID {1A8766A0-62CE-11CF-A5}
45.907: Interfice ID 1
45.908: Found SINK IN Pin, id = 0, hr = 0
45.910: Pin 1: Communication type = 0
45.912: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
45.915: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
45.918: Pin 0: Communication type = 1
45.920: Total 1 DataRanges
45.921: Interface GUID {1A8766A0-62CE-11CF-A5}
45.922: Interfice ID 1
45.924: Found SINK IN Pin, id = 0, hr = 0
45.925: Pin 1: Communication type = 0
45.943: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
45.960: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
45.963: Pin 0: Communication type = 1
45.967: Total 2 DataRanges
45.971: Interface GUID {1A8766A0-62CE-11CF-A5}
45.975: Interfice ID 1
45.977: Found SINK IN Pin, id = 0, hr = 0
45.979: Pin 1: Communication type = 0
45.984: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
45.988: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
45.992: All devices enumerated
45.994: Filters enumerated
45.995: Filter for rendering is avaliable
45.997: Total 5 filters
46.012: Try WAVEFORMATEXTENSIBLE format
46.014: Pin Looped 1
46.015: Error_Success = 22
46.019: Failed to instantiate pin. hr=0x80070016
46.023: Failed to instantiate Render Pin
46.028: Pin Looped 1
46.029: Error_Success = 22
46.030: Failed to instantiate pin. hr=0x80070016
46.032: Try WAVEFORMATEX format
46.033: Pin Looped 1
46.035: Error_Success = 22
46.036: Failed to instantiate pin. hr=0x80070016
46.037: Failed to instantiate Render Pin
46.039: Pin Looped 1
46.040: Error_Success = 22
46.044: Failed to instantiate pin. hr=0x80070016
46.045: No pins available for rendering
46.046: Leaving RenderThreadProc
46.099: Packet 0 is available... Submitting packet 0
46.102: dwWait = 0
47.105: Packet 0 is available... Submitting packet 0
47.108: dwWait = 0
48.111: Packet 0 is available... Submitting packet 0
48.115: dwWait = 0
............................
67.211: Packet 0 is available... Submitting packet 0
67.212: dwWait = 0

Titus
10.10.2013, 01:05
Немного отладочно информации при выводе пакета:

ZEK
10.10.2013, 01:07
Ну RUN не реагирует


0.501: Entering RenderThreadProc
0.503: Device found
0.504: Pin 0: Communication type = 1
0.505: Total 1 DataRanges
0.505: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.506: Found SINK IN Pin, id = 0, hr = 0
0.506: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.508: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.509: Pin 0: Communication type = 1
0.510: Total 6 DataRanges
0.510: Interface GUID {1A8766A0-62CE-11CF-A5}
0.511: Interfice ID 1
0.511: Found SINK IN Pin, id = 0, hr = 0
0.511: Pin 1: Communication type = 0
0.511: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.512: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.513: Pin 0: Communication type = 1
0.513: Total 1 DataRanges
0.513: Interface GUID {1A8766A0-62CE-11CF-A5}
0.514: Interfice ID 1
0.514: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.514: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.515: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.519: Pin 0: Communication type = 1
0.522: Total 1 DataRanges
0.523: Interface GUID {1A8766A0-62CE-11CF-A5}
0.523: Interfice ID 1
0.523: Found SINK IN Pin, id = 0, hr = 0
0.524: Pin 1: Communication type = 0
0.524: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.524: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.525: Pin 0: Communication type = 1
0.525: Total 2 DataRanges
0.526: Interface GUID {1A8766A0-62CE-11CF-A5}
0.526: Interfice ID 1
0.526: Found SINK IN Pin, id = 0, hr = 0
0.527: Pin 1: Communication type = 0
0.527: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.527: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.528: All devices enumerated
0.529: Filters enumerated
0.529: Filter for rendering is avaliable
0.529: Total 5 filters
0.530: Try WAVEFORMATEXTENSIBLE format
0.530: Pin Looped 1
0.531: Error_Success = 22
0.531: Failed to instantiate pin. hr=0x80070016
0.531: Failed to instantiate Render Pin
0.532: Pin Looped 1
0.532: Error_Success = 22
0.532: Failed to instantiate pin. hr=0x80070016
0.533: Try WAVEFORMATEX format
0.533: Pin Looped 1
0.534: Error_Success = 22
0.534: Failed to instantiate pin. hr=0x80070016
0.534: Failed to instantiate Render Pin
0.535: Pin Looped 1
0.535: Error_Success = 22
0.536: Failed to instantiate pin. hr=0x80070016
0.536: No pins available for rendering
0.536: Leaving RenderThreadProc



Поправка, была вторая копия запущена, предыдущего теста
Лог при одной копии


0.501: Entering RenderThreadProc
0.503: Device found
0.505: Pin 0: Communication type = 1
0.506: Total 1 DataRanges
0.507: Interface GUID {1A8766A0-62CE-11CF-A5}
0.507: Interfice ID 1
0.508: Found SINK IN Pin, id = 0, hr = 0
0.509: Pin 1: Communication type = 0
0.509: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.512: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.514: Pin 0: Communication type = 1
0.514: Total 6 DataRanges
0.515: Interface GUID {1A8766A0-62CE-11CF-A5}
0.515: Interfice ID 1
0.515: Found SINK IN Pin, id = 0, hr = 0
0.516: Pin 1: Communication type = 0
0.516: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.516: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.517: Pin 0: Communication type = 1
0.517: Total 1 DataRanges
0.518: Interface GUID {1A8766A0-62CE-11CF-A5}
0.518: Interfice ID 1
0.519: Found SINK IN Pin, id = 0, hr = 0
0.519: Pin 1: Communication type = 0
0.519: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.520: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.523: Pin 0: Communication type = 1
0.525: Total 1 DataRanges
0.525: Interface GUID {1A8766A0-62CE-11CF-A5}
0.525: Interfice ID 1
0.526: Found SINK IN Pin, id = 0, hr = 0
0.526: Pin 1: Communication type = 0
0.526: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.527: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.527: Pin 0: Communication type = 1
0.528: Total 2 DataRanges
0.528: Interface GUID {1A8766A0-62CE-11CF-A5}
0.528: Interfice ID 1
0.529: Found SINK IN Pin, id = 0, hr = 0
0.529: Pin 1: Communication type = 0
0.529: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.530: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.530: All devices enumerated
0.531: Filters enumerated
0.531: Filter for rendering is avaliable
0.532: Total 5 filters
0.532: Try WAVEFORMATEXTENSIBLE format
0.532: Pin Looped 1
0.534: Successfully instantiated Render Pin. Handle = 0x00000164
0.534: Pin for rendering is avaliable
0.534: Заполнение буфера 16-битным синусом
0.540: Pin state is KSSTATE_STOP
8.242: dwWait = 4
8.253: Setting Pin to KSSTATE_RUN ...
8.254: dwWait = 0
9.257: Packet 0 is available... Submitting packet 0
9.260: Out OKAY!
9.264: dwWait = 0
10.266: Packet 0 is available... Submitting packet 0
10.270: Out OKAY!
10.274: dwWait = 0
11.276: Packet 0 is available... Submitting packet 0
11.280: Out OKAY!
11.283: dwWait = 0
12.286: Packet 0 is available... Submitting packet 0
12.296: Out OKAY!
12.300: dwWait = 0
13.303: Packet 0 is available... Submitting packet 0
13.306: Out OKAY!
13.310: dwWait = 0
14.312: Packet 0 is available... Submitting packet 0
14.315: Out OKAY!
14.319: dwWait = 0

Titus
10.10.2013, 01:08
Ну RUN не реагирует

Похоже, у тебя предыдущая версия повисла, не отпустив пин. Надо перезагрузить.

ZEK
10.10.2013, 01:10
Поправился

Titus
10.10.2013, 01:11
Поправился

Смотри-ка, никто ни на что не ругается.
Странно, что звука нет, и странно, что не останавлиается.

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

ZEK
10.10.2013, 01:18
Но почему звука нет?
хз, при запущенном winamp ошибки как при были при запущенной второй копии, по переключал Winamp на все звуковые выходы, даже если я не слышу, уровень сигнала скачет в звуковых устройствах, так что по всей видимости или звук не выводит или громкость у него минимум

Titus
10.10.2013, 01:18
Попробуем такую версию:

ZEK
10.10.2013, 01:21
На стоп не реагирует, звука нет, даже скайп выключил на всякий


0.501: Entering RenderThreadProc
0.503: Device found
0.504: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.505: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.505: Found SINK IN Pin, id = 0, hr = 0
0.506: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.508: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.509: Pin 0: Communication type = 1
0.510: Total 6 DataRanges
0.510: Interface GUID {1A8766A0-62CE-11CF-A5}
0.511: Interfice ID 1
0.511: Found SINK IN Pin, id = 0, hr = 0
0.511: Pin 1: Communication type = 0
0.512: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.512: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.513: Pin 0: Communication type = 1
0.513: Total 1 DataRanges
0.513: Interface GUID {1A8766A0-62CE-11CF-A5}
0.514: Interfice ID 1
0.514: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.515: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.515: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.518: Pin 0: Communication type = 1
0.520: Total 1 DataRanges
0.520: Interface GUID {1A8766A0-62CE-11CF-A5}
0.520: Interfice ID 1
0.521: Found SINK IN Pin, id = 0, hr = 0
0.521: Pin 1: Communication type = 0
0.521: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.522: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.522: Pin 0: Communication type = 1
0.523: Total 2 DataRanges
0.523: Interface GUID {1A8766A0-62CE-11CF-A5}
0.523: Interfice ID 1
0.524: Found SINK IN Pin, id = 0, hr = 0
0.524: Pin 1: Communication type = 0
0.524: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.525: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.525: All devices enumerated
0.526: Filters enumerated
0.526: Filter for rendering is avaliable
0.527: Total 5 filters
0.527: Try WAVEFORMATEXTENSIBLE format
0.527: Pin Looped 1
0.528: Successfully instantiated Render Pin. Handle = 0x00000168
0.529: Pin for rendering is avaliable
0.529: Заполнение буфера 16-битным синусом
0.535: Pin state is KSSTATE_STOP
3.176: dwWait = 4
3.178: Setting Pin to KSSTATE_RUN ...
3.178: dwWait = 0
4.180: Packet 0 is available... Submitting packet 0
4.180: Out OKAY!
4.181: dwWait = 0
5.182: Packet 0 is available... Submitting packet 0
5.182: Out OKAY!
5.183: dwWait = 0
6.184: Packet 0 is available... Submitting packet 0
6.184: Out OKAY!
6.185: dwWait = 0
7.186: Packet 0 is available... Submitting packet 0
7.187: Out OKAY!
7.187: dwWait = 0
8.189: Packet 0 is available... Submitting packet 0
8.190: Out OKAY!
8.190: dwWait = 0
9.191: Packet 0 is available... Submitting packet 0
9.192: Out OKAY!
9.193: dwWait = 0
10.194: Packet 0 is available... Submitting packet 0
10.194: Out OKAY!
10.195: dwWait = 0
11.197: Packet 0 is available... Submitting packet 0
11.198: Out OKAY!
11.199: dwWait = 0
12.199: Packet 0 is available... Submitting packet 0
12.200: Out OKAY!
12.201: dwWait = 0
13.203: Packet 0 is available... Submitting packet 0
13.204: Out OKAY!
13.205: dwWait = 0

Titus
10.10.2013, 01:25
На стоп не реагирует, звука нет, даже скайп выключил на всякий
Точно последняя версия?
Я принудительно приход пакетов отключаю, а он все равно раз в секунду садит.

Сейчас сделаю отключение с оповещением, чтобы точно знать.

ZEK
10.10.2013, 01:31
Перезагрузиться надо, включил неотложный режим у звукового устройства, оно видать пин подвесило, теперь звук в гарнитуре вообще не работает

Titus
10.10.2013, 01:35
Перезагрузиться надо, включил неотложный режим у звукового устройства, оно видать пин подвесило, теперь звук в гарнитуре вообще не работает

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

Но предыдущий тест тоже надо запустить.

ZEK
10.10.2013, 02:02
Перезагрузился на свою голову, 62 обновления за полтора месяца с момента последней перезагрузки набралось, в том числе и аудиодрайвер

тест из 272 сообщения, звука нет


0.501: Entering RenderThreadProc
0.503: Device found
0.503: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.504: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.505: Found SINK IN Pin, id = 0, hr = 0
0.505: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.508: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.509: Pin 0: Communication type = 1
0.509: Total 6 DataRanges
0.510: Interface GUID {1A8766A0-62CE-11CF-A5}
0.510: Interfice ID 1
0.510: Found SINK IN Pin, id = 0, hr = 0
0.511: Pin 1: Communication type = 0
0.511: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.511: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.512: Pin 0: Communication type = 1
0.512: Total 1 DataRanges
0.512: Interface GUID {1A8766A0-62CE-11CF-A5}
0.513: Interfice ID 1
0.513: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.514: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.514: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.517: Pin 0: Communication type = 1
0.518: Total 1 DataRanges
0.518: Interface GUID {1A8766A0-62CE-11CF-A5}
0.519: Interfice ID 1
0.519: Found SINK IN Pin, id = 0, hr = 0
0.519: Pin 1: Communication type = 0
0.520: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.520: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.521: Pin 0: Communication type = 1
0.522: Total 2 DataRanges
0.522: Interface GUID {1A8766A0-62CE-11CF-A5}
0.522: Interfice ID 1
0.523: Found SINK IN Pin, id = 0, hr = 0
0.523: Pin 1: Communication type = 0
0.523: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.523: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.524: All devices enumerated
0.525: Filters enumerated
0.525: Filter for rendering is avaliable
0.526: Total 5 filters
0.526: Try WAVEFORMATEXTENSIBLE format
0.526: Pin Looped 1
0.528: Successfully instantiated Render Pin. Handle = 0x0000014c
0.528: Pin for rendering is avaliable
0.528: Заполнение буфера 16-битным синусом
0.534: Pin state is KSSTATE_STOP
2.305: dwWait = 4
2.318: Setting Pin to KSSTATE_RUN ...
2.319: dwWait = 0
3.320: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
3.320: Packet 0 is available... Submitting packet 0
3.321: Out OKAY!
3.321: dwWait = 0
4.323: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
4.323: Packet 0 is available... Submitting packet 0
4.323: Out OKAY!
4.323: dwWait = 0
5.325: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
5.327: Packet 0 is available... Submitting packet 0
5.328: Out OKAY!
5.329: dwWait = 0
6.332: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
6.333: Packet 0 is available... Submitting packet 0
6.334: Out OKAY!
6.335: dwWait = 0
7.337: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
7.338: Packet 0 is available... Submitting packet 0
7.339: Out OKAY!
7.340: dwWait = 0
8.341: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
8.343: Packet 0 is available... Submitting packet 0
8.344: Out OKAY!
8.345: dwWait = 0
9.349: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
9.350: Packet 0 is available... Submitting packet 0
9.351: Out OKAY!
9.352: dwWait = 0


Тест из 274 сообщения, звука нет


0.502: Entering RenderThreadProc
0.505: Device found
0.506: Pin 0: Communication type = 1
0.506: Total 1 DataRanges
0.506: Interface GUID {1A8766A0-62CE-11CF-A5}
0.507: Interfice ID 1
0.507: Found SINK IN Pin, id = 0, hr = 0
0.508: Pin 1: Communication type = 0
0.508: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.510: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.511: Pin 0: Communication type = 1
0.511: Total 6 DataRanges
0.512: Interface GUID {1A8766A0-62CE-11CF-A5}
0.512: Interfice ID 1
0.512: Found SINK IN Pin, id = 0, hr = 0
0.512: Pin 1: Communication type = 0
0.513: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.513: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.514: Pin 0: Communication type = 1
0.514: Total 1 DataRanges
0.514: Interface GUID {1A8766A0-62CE-11CF-A5}
0.515: Interfice ID 1
0.515: Found SINK IN Pin, id = 0, hr = 0
0.515: Pin 1: Communication type = 0
0.515: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.516: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.518: Pin 0: Communication type = 1
0.519: Total 1 DataRanges
0.519: Interface GUID {1A8766A0-62CE-11CF-A5}
0.520: Interfice ID 1
0.520: Found SINK IN Pin, id = 0, hr = 0
0.520: Pin 1: Communication type = 0
0.521: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.521: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.522: Pin 0: Communication type = 1
0.522: Total 2 DataRanges
0.523: Interface GUID {1A8766A0-62CE-11CF-A5}
0.523: Interfice ID 1
0.523: Found SINK IN Pin, id = 0, hr = 0
0.524: Pin 1: Communication type = 0
0.524: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.524: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.525: All devices enumerated
0.526: Filters enumerated
0.526: Filter for rendering is avaliable
0.527: Total 5 filters
0.527: Try WAVEFORMATEXTENSIBLE format
0.527: Pin Looped 1
0.528: Successfully instantiated Render Pin. Handle = 0x0000016c
0.529: Pin for rendering is avaliable
0.529: Заполнение буфера 16-битным синусом
0.535: Pin state is KSSTATE_STOP
0.536: External Setting Pin to KSSTATE_RUN ...
0.536: Failed to Set Pin State
0.536: External Packet 0 is available... Submitting packet 0
0.537: Out OKAY!
0.537: HR = 0
0.537: dwWait = 0
1.538: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
1.538: Packet 0 is available... Submitting packet 0
1.539: Out OKAY!
1.539: dwWait = 0
2.540: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
2.540: Packet 0 is available... Submitting packet 0
2.541: Out OKAY!
2.541: dwWait = 0
3.543: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
3.545: Packet 0 is available... Submitting packet 0
3.546: Out OKAY!
3.547: dwWait = 0
4.548: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
4.549: Packet 0 is available... Submitting packet 0
4.550: Out OKAY!
4.551: dwWait = 0

Titus
10.10.2013, 02:07
0.536: Failed to Set Pin State
Ну хоть какой-то прогресс.

Titus
10.10.2013, 03:40
Тот же тест, но с выдачей кода ошибки:

ZEK
10.10.2013, 09:03
0.501: Entering RenderThreadProc
0.503: Device found
0.504: Pin 0: Communication type = 1
0.504: Total 1 DataRanges
0.504: Interface GUID {1A8766A0-62CE-11CF-A5}
0.505: Interfice ID 1
0.506: Found SINK IN Pin, id = 0, hr = 0
0.506: Pin 1: Communication type = 0
0.506: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.508: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.510: Pin 0: Communication type = 1
0.510: Total 6 DataRanges
0.510: Interface GUID {1A8766A0-62CE-11CF-A5}
0.511: Interfice ID 1
0.511: Found SINK IN Pin, id = 0, hr = 0
0.511: Pin 1: Communication type = 0
0.512: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.512: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.512: Pin 0: Communication type = 1
0.513: Total 1 DataRanges
0.513: Interface GUID {1A8766A0-62CE-11CF-A5}
0.514: Interfice ID 1
0.514: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.515: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.515: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.521: Pin 0: Communication type = 1
0.522: Total 1 DataRanges
0.522: Interface GUID {1A8766A0-62CE-11CF-A5}
0.523: Interfice ID 1
0.523: Found SINK IN Pin, id = 0, hr = 0
0.523: Pin 1: Communication type = 0
0.524: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.524: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.525: Pin 0: Communication type = 1
0.525: Total 2 DataRanges
0.526: Interface GUID {1A8766A0-62CE-11CF-A5}
0.526: Interfice ID 1
0.526: Found SINK IN Pin, id = 0, hr = 0
0.527: Pin 1: Communication type = 0
0.527: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.527: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.528: All devices enumerated
0.529: Filters enumerated
0.530: Filter for rendering is avaliable
0.530: Total 5 filters
0.530: Try WAVEFORMATEXTENSIBLE format
0.531: Pin Looped 1
0.532: Successfully instantiated Render Pin. Handle = 0x0000011c
0.532: Pin for rendering is avaliable
0.533: Заполнение буфера 16-битным синусом
0.538: Pin state is KSSTATE_STOP
0.539: External Setting Pin to KSSTATE_RUN ...
0.539: Failed to Set Pin State 80004005
0.540: External Packet 0 is available... Submitting packet 0
0.540: Out OKAY!
0.540: HR = 0
0.540: dwWait = 0
1.541: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
1.541: Packet 0 is available... Submitting packet 0
1.542: Out OKAY!
1.542: dwWait = 0
2.543: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
2.543: Packet 0 is available... Submitting packet 0
2.544: Out OKAY!
2.544: dwWait = 0
3.545: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
3.566: Packet 0 is available... Submitting packet 0
3.586: Out OKAY!
3.609: dwWait = 0
4.634: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
4.635: Packet 0 is available... Submitting packet 0
4.636: Out OKAY!
4.637: dwWait = 0
5.638: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
5.640: Packet 0 is available... Submitting packet 0
5.642: Out OKAY!
5.643: dwWait = 0
6.646: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
6.649: Packet 0 is available... Submitting packet 0
6.650: Out OKAY!
6.652: dwWait = 0
7.655: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
7.658: Packet 0 is available... Submitting packet 0
7.659: Out OKAY!
7.661: dwWait = 0
8.663: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
8.666: Packet 0 is available... Submitting packet 0
8.667: Out OKAY!
8.669: dwWait = 0
9.670: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
9.672: Packet 0 is available... Submitting packet 0
9.674: Out OKAY!
9.675: dwWait = 0
10.677: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
10.679: Packet 0 is available... Submitting packet 0
10.681: Out OKAY!
10.682: dwWait = 0

Titus
10.10.2013, 12:23
0.539: Failed to Set Pin State 80004005

Ну, эта ошибка очень информативная... E_FAIL...

Titus
10.10.2013, 14:56
В этой версии опять убрал автоматический запуск RUN.

Попробуйте подавать сперва не RUN, а другие команды STOP и PAUSE.

[bETA]mEN
10.10.2013, 19:59
Win7 x64, встроенный звук HD Audio


0.501: Entering RenderThreadProc
0.511: Device found
0.512: Pin 0: Communication type = 1
0.512: Total 7 DataRanges
0.513: Interface GUID {1A8766A0-62CE-11CF-A5}
0.513: Interfice ID 1
0.513: Found SINK IN Pin, id = 0, hr = 0
0.514: Pin 1: Communication type = 0
0.514: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.515: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_1458a022&rev_1003#4&24707100&0&0201#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave3
0.517: Pin 0: Communication type = 1
0.517: Total 6 DataRanges
0.518: Interface GUID {1A8766A0-62CE-11CF-A5}
0.518: Interfice ID 1
0.518: Found SINK IN Pin, id = 0, hr = 0
0.519: Pin 1: Communication type = 0
0.519: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.519: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_1458a022&rev_1003#4&24707100&0&0201#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.520: Pin 0: Communication type = 1
0.521: Total 6 DataRanges
0.521: Interface GUID {1A8766A0-62CE-11CF-A5}
0.521: Interfice ID 1
0.522: Found SINK IN Pin, id = 0, hr = 0
0.522: Pin 1: Communication type = 0
0.522: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.523: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_1458a022&rev_1003#4&24707100&0&0201#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifwave
0.525: All devices enumerated
0.528: Filters enumerated
0.528: Filter for rendering is avaliable
0.529: Total 3 filters
0.529: Try WAVEFORMATEXTENSIBLE format
0.530: Pin Looped 1
0.530: Error_Success = 1450
0.531: Failed to instantiate pin. hr=0x800705aa
0.531: Failed to instantiate Render Pin
0.531: Pin Looped 1
0.531: Error_Success = 1450
0.531: Failed to instantiate pin. hr=0x800705aa
0.532: Try WAVEFORMATEX format
0.532: Pin Looped 1
0.532: Error_Success = 1450
0.532: Failed to instantiate pin. hr=0x800705aa
0.533: Failed to instantiate Render Pin
0.533: Pin Looped 1
0.533: Error_Success = 1450
0.533: Failed to instantiate pin. hr=0x800705aa
0.534: No pins available for rendering
0.534: Leaving RenderThreadProc

Titus
10.10.2013, 20:05
Хм... Подождем тест от ZEK'a.

ZEK
10.10.2013, 21:18
Звука нет, сначала stop, потом pause по ней начало пытаться звук выводить


0.501: Entering RenderThreadProc
0.524: Device found
0.525: Pin 0: Communication type = 1
0.526: Total 1 DataRanges
0.526: Interface GUID {1A8766A0-62CE-11CF-A5}
0.526: Interfice ID 1
0.527: Found SINK IN Pin, id = 0, hr = 0
0.527: Pin 1: Communication type = 0
0.527: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.540: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\secondarylineoutwave
0.557: Pin 0: Communication type = 1
0.558: Total 6 DataRanges
0.558: Interface GUID {1A8766A0-62CE-11CF-A5}
0.559: Interfice ID 1
0.559: Found SINK IN Pin, id = 0, hr = 0
0.559: Pin 1: Communication type = 0
0.559: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.560: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifoptwave
0.560: Pin 0: Communication type = 1
0.560: Total 1 DataRanges
0.561: Interface GUID {1A8766A0-62CE-11CF-A5}
0.561: Interfice ID 1
0.561: Found SINK IN Pin, id = 0, hr = 0
0.562: Pin 1: Communication type = 0
0.562: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.562: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rtspdifhdmiwave
0.565: Pin 0: Communication type = 1
0.567: Total 1 DataRanges
0.567: Interface GUID {1A8766A0-62CE-11CF-A5}
0.568: Interfice ID 1
0.568: Found SINK IN Pin, id = 0, hr = 0
0.568: Pin 1: Communication type = 0
0.568: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.569: Succeeded to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0887&subsys_10438444&rev_1003#4&fd7a2e8&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\rearlineoutwave2
0.569: Pin 0: Communication type = 1
0.570: Total 2 DataRanges
0.570: Interface GUID {1A8766A0-62CE-11CF-A5}
0.570: Interfice ID 1
0.571: Found SINK IN Pin, id = 0, hr = 0
0.571: Pin 1: Communication type = 0
0.571: RenderSink = 1, RenderSource = 0, CaptureSink = 0, CaptureSource = 0
0.572: Succeeded to create filter for \\?\hdaudio#func_01&ven_1002&dev_aa01&subsys_00aa0100&rev_1003#4&7fd129d&0&0001#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\e0hdmiout2wave
0.572: All devices enumerated
0.573: Filters enumerated
0.573: Filter for rendering is avaliable
0.574: Total 5 filters
0.574: Try WAVEFORMATEXTENSIBLE format
0.574: Pin Looped 1
0.576: Successfully instantiated Render Pin. Handle = 0x0000015c
0.576: Pin for rendering is avaliable
0.576: Заполнение буфера 16-битным синусом
0.581: Pin state is KSSTATE_STOP
15.266: dwWait = 2
15.275: Setting Pin to KSSTATE_STOP ...
15.276: Pin State set OK
20.794: dwWait = 3
20.809: Setting Pin to KSSTATE_PAUSE ...
20.810: Failed to Set Pin State 80004005
20.811: dwWait = 0
21.813: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
21.816: Packet 0 is available... Submitting packet 0
21.818: Out OKAY!
21.819: dwWait = 0
22.821: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
22.824: Packet 0 is available... Submitting packet 0
22.825: Out OKAY!
22.827: dwWait = 0
23.829: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
23.831: Packet 0 is available... Submitting packet 0
23.832: Out OKAY!
23.833: dwWait = 0
24.836: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
24.839: Packet 0 is available... Submitting packet 0
24.841: Out OKAY!
24.842: dwWait = 0
25.844: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
25.847: Packet 0 is available... Submitting packet 0
25.848: Out OKAY!
25.849: dwWait = 0
26.852: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
26.855: Packet 0 is available... Submitting packet 0
26.857: Out OKAY!
26.859: dwWait = 0
27.860: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
27.863: Packet 0 is available... Submitting packet 0
27.864: Out OKAY!
27.865: dwWait = 0
28.868: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
28.872: Packet 0 is available... Submitting packet 0
28.873: Out OKAY!
28.875: dwWait = 0
29.877: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
29.880: Packet 0 is available... Submitting packet 0
29.881: Out OKAY!
29.882: dwWait = 0
30.884: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
30.887: Packet 0 is available... Submitting packet 0
30.889: Out OKAY!
30.891: dwWait = 0
31.894: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
31.897: Packet 0 is available... Submitting packet 0
31.899: Out OKAY!
31.900: dwWait = 0
32.902: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
32.905: Packet 0 is available... Submitting packet 0
32.906: Out OKAY!
32.908: dwWait = 0
33.909: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
33.912: Packet 0 is available... Submitting packet 0
33.914: Out OKAY!
33.915: dwWait = 0
34.918: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
34.921: Packet 0 is available... Submitting packet 0
34.926: Out OKAY!
34.927: dwWait = 0
35.929: Пакеты ОТКЛЮЧЕНЫ, т.е. СОВСЕМ-СОВСЕМ!
35.954: Packet 0 is available... Submitting packet 0
35.955: Out OKAY!
35.957: dwWait = 0

Titus
10.10.2013, 21:36
Звука нет, сначала stop, потом pause по ней начало пытаться звук выводить
Пытаться - это все-таки что-то звучало?

ZEK
10.10.2013, 21:49
это все-таки что-то звучало?
не, лог с "Out OKAY!" пошел

ZXMAK
12.10.2013, 06:04
Твоя теория далека от практики) Предлагаю тебе сделать рабочий макет)

---------- Post added at 17:34 ---------- Previous post was at 17:32 ----------


Т.е. каждый новый кадр спектрума совпадал с кадром развертки ПЦ?

Или же просто перед выводом нового кадра ожидался VBlank?

В первом ZXMAK синхронизация по TSC регистру процессора (при включении ограничителя 50гц), либо по vblank - в зависимости от настроек. Из за этого на многоядерных машинах и машинах с нефиксированной частотой были глюки.

В ZXMAK2 - синхра по звуковухе. Кстати, если это правда что w7 кеширует нотификации о позиции звукового буффера, то видимо именно с этим и связана некоторая неравномерность движения на плавных скролах. Дело в том что обновление экрана привязано к этим нотификациям :-)

Titus
12.10.2013, 12:11
В первом ZXMAK синхронизация по TSC регистру процессора (при включении ограничителя 50гц), либо по vblank - в зависимости от настроек. Из за этого на многоядерных машинах и машинах с нефиксированной частотой были глюки.

В ZXMAK2 - синхра по звуковухе. Кстати, если это правда что w7 кеширует нотификации о позиции звукового буффера, то видимо именно с этим и связана некоторая неравномерность движения на плавных скролах. Дело в том что обновление экрана привязано к этим нотификациям :-)

Вот-вот. И я о том, что в современных машинах нет гарантированного таймера высокого разрешения.

Логично, ни к чему другому при таком подходе и не привяжешь.

Titus
02.02.2015, 00:01
Итак, поизучав аудиосистему виндовых систем, я пришел к несколько иной парадигме синхронизации звука и видео. При этом не понадобится никакого эксклюзивного владения звуковухой (как я пытался сделать ранее), только штатными методами. Посему написал некоторый тестик, позволящий в виде графиков отобразить внутреннюю систему синхронизации аудиовывода конкретной винды. Просьба не полениться, и запустить тесты на своих машинках.

Начнет заполнятся графиками черный экранчик. В это время надо сидеть пару минут сложа ручки. Как только чернота заполнится вся, следует сделать скриншот этого окошка, и окошка консоли. И все! Выглядит это примерно так:

Win XP:
http://s017.radikal.ru/i435/1502/e2/c048bde43eaa.png

Левая, фиолетовая часть - это поведение нотификации аудиобуфера, порезанного на 10мс отрезки (именно такими фрагментами микшируется звук начиная с 7 винды, или скорее с Висты). На XP будет выглядеть скорее изрезанно, на 7-рках гладенько, ибо с ними синхронен.
Правая, синяя часть - это временной снимок проигрывания аудиобуфера. Если синяя часть постепенно отьезжает от горизонтальной линии вниз или вверх (а так на половине машин и будет), это означает, что заявленная частота проигрывания 48000 отличается от таковой на доли процента, или же что тактирование процессора и звуковухи имеет разные источники, либо же производные их коэффициентов взаимно нацело неделимые.

Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор. И все!

Скачать ТЕСТ (http://sderni.ru/259899)

Rindex
02.02.2015, 00:30
Я тебе завтра вообще видео запишу. Но у меня видеокарта не новая.

Titus
02.02.2015, 00:39
Я тебе завтра вообще видео запишу. Но у меня видеокарта не новая.

Видео НЕ НАДО) Нужен скриншот)

esl
02.02.2015, 02:18
ubuntu/wine 1.7.3

50917
50918

Titus
02.02.2015, 02:37
ubuntu/wine 1.7.3
Спасибище! Убунту - это очень кстати, т.к. экзотическая система.

yuriy
02.02.2015, 03:24
xp sp3
http://savepic.org/6878241.png
http://sderni.ru/259912

[bETA]mEN
02.02.2015, 03:26
интегрированная Realtek ALC892
Windows 7 x64
Intel Core i5-2500 Sandy Bridge
http://i.imgur.com/Ix5e49u.png

shurik-ua
02.02.2015, 03:32
win-7 x64, sound Creative X-Fi Fatality.
http://i60.fastpic.ru/thumb/2015/0202/e2/17c6ee7d5b802f2d0402e37505722de2.jpeg (http://fastpic.ru/view/60/2015/0202/17c6ee7d5b802f2d0402e37505722de2.jpg.html)

ZXMAK
02.02.2015, 03:56
Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор. И все!

Скачать ТЕСТ (http://sderni.ru/259899)

в файле похоже троян:
https://www.virustotal.com/en/file/1dbe49875af5852c13751d4c5ce3ad6e1b99569353a8bd43e2 fa1c741ba2e839/analysis/


ApplicUnwnt.Win32.AdWare.GameVance.FGK


судя по описанию, ворует пароли и рекламные банеры показывает


Интересно, как ты кол-во сканлайнов определяешь?
На 8-ке почему-то вместо стандартного бордюра и заголовка у окна, какая-то эмуляция окон от win7 - зачем это?
Стандартный бордюр намного лучше выглядит.

И что эти кирпичики означают? :) (вертикальные полоски посредине - это я окно двигал)
http://savepic.su/4913132.png

Titus
02.02.2015, 04:13
в файле похоже троян:
https://www.virustotal.com/en/file/1dbe49875af5852c13751d4c5ce3ad6e1b99569353a8bd43e2 fa1c741ba2e839/analysis/


судя по описанию, ворует пароли и рекламные банеры показывает

То что у какого-то единственного антивируса из 57 снесло крышу, и он своим эмпирическим анализом заподозрил вирусняк, еще не значит, что в файле троян)

---------- Post added at 04:12 ---------- Previous post was at 04:00 ----------



Интересно, как ты кол-во сканлайнов определяешь? И что эти кирпичики означают? :)

Сканлайны сейчас вообще не трогаю, изучаю исключительно аудиосистему. Кирпичики слева означают границу сегментов аудиобуфера, который я специально (для виндовс старше XP) побил на принятые в них 10мс аудиопримитивы. Все винды старше XP не дают пользователю доступ к аппаратным буферам звуковухи (в отличие от XP, где аудиодрайвер, если мог, выделял вторичный аудиобуфер, в которой пользователь писал свои данные, а аудиосистема аппаратно этот буфер смешивала с остальными и выводила). В виндах старше XP все микширование вторичных буферов только программное, поэтому дискретность аудиобуфера унифицирована и равна 10мс, и не имеет возможности информировать о положении указателя с точностью выше этих 10мс.

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

п.п.с.: Благодаря таймеру высокого разрешения (который я раньше не брал в расчет, т.к. думал, что он сбрасывает скорость при замедлении ядер процессора в режиме энергосбережения), открываются новые возможности синхронизации. Ну, и разумеется, благодаря пониманию специфики работы аудиобуферов как XP-систем, так и вышестоящих.

---------- Post added at 04:13 ---------- Previous post was at 04:12 ----------


На 8-ке почему-то вместо стандартного бордюра и заголовка у окна, какая-то эмуляция окон от win7 - зачем это?
Стандартный бордюр намного лучше выглядит.

Я бордюр вообще не трогаю, открываю стандартное окно)

ZXMAK
02.02.2015, 04:14
Еще картинка, после некоторого времени работы :)
Обращу внимание стандартный бордюр у консольного окна выглядит намного лучше чем эмуляция окон win7 :)

http://savepic.su/4893676.png

Titus
02.02.2015, 04:18
Еще картинка, после некоторого времени работы :)
Обращу внимание стандартный бордюр у консольного окна выглядит намного лучше чем эмуляция окон win7 :)

Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().

Попробуй еще раз запустить тест с нуля, и ничего не двигать.

shurik-ua
02.02.2015, 04:19
что это за параметр QPFrequency ?

Titus
02.02.2015, 04:20
что это за параметр QPFrequency ?

Частота таймера высокого разрешения.
У кого-то он 3.5МГц, у кого-то 14МГц, а у меня, кстати, 1.6ГГц)

ZXMAK
02.02.2015, 04:29
Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().

Попробуй еще раз запустить тест с нуля, и ничего не двигать.

вот не двигал:
http://savepic.su/4886508.png

если я правильно понял то рисуются полоски сверху вниз на которых время нотификации от аудиобуфера, а справа точность детекта vblank, верно?
Тогда что означают эти пересечения слева, из которых такие красивые кирпичи получаются? :biggrin:

---------- Post added at 03:29 ---------- Previous post was at 03:26 ----------


Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().

хз, может какой-то флаг нехороший указан :smile:

Titus
02.02.2015, 04:49
вот не двигал

если я правильно понял то рисуются полоски сверху вниз на которых время нотификации от аудиобуфера, а справа точность детекта vblank, верно?
Тогда что означают эти пересечения слева, из которых такие красивые кирпичи получаются? :

хз, может какой-то флаг нехороший указан :smile:

Буфер разбит на 16 нотификаций по 480 позиций каждая.

Слева идет замер, что нам сообщает аудиодрайвер о позиции в буфере после прихода очередной нотификации. Как видно на системах старше XP, все гладенько и ровненько, четкие фрагменты по 480 позиций снизу вверх (чтобы была видна граница фрагмента цвет меняется от фрагмента к фрагменту с яркого на бледный). На XP-системах тут идут биения, т.к. у каждой карточки своя дискретность (точность) нотификации, но в основном, кстати, они более точные, чем на системах старше XP.

Справа отображаются те же самые 16 нотификаций, но не позиция в буфере, а время прихода нотификации. Таким образом, в идеальной системе рисунок справа должен быть такой же, как слева. Но т.к. вычисления не 100% целочисленны и синхронны, правый искажается и постепенно едет, в основном вниз. В худших случаях справа биения. А у тебя вообще куда-то уползает. Надо для тебя сделать версию теста, когда в консоли в циферном виде выводится позиция того, что отображается справа.

Надо посмотреть на нехорошие флаги, но я их не ставил, чессслово.
Кстати, на Вин7 тоже мое окно отличается от других окон, как я посмотрю)

---------- Post added at 04:38 ---------- Previous post was at 04:36 ----------

Пересечения делающие кирпичики - это, как я понимаю, всплески, когда нотификация тебе говорит, что буфер дошел, например, до позиции 480, но делает это с запазданием, и когда ты спрашиваешь у буфера, а скажи-ка мне, на какой ты позиции? А он тебе человеческим голосом и отвечает - я на 960 позиции! А запаздание это происходит из рванины, которую видим на правом графике.

---------- Post added at 04:42 ---------- Previous post was at 04:38 ----------

И вообще, так сбиваться справа, как у тебя не должно. И только у тебя такой глюк. Я понимаю, что может сбиться, когда проявляешь активность в системе, но после этого должно все восстановиться, а у тебя не восстанавливается. Это можно обьяснить, например (что просто фантастика), что таймер высокого разрешения на какие-то мгновения затормаживается или замедляет счет.

---------- Post added at 04:49 ---------- Previous post was at 04:42 ----------



хз, может какой-то флаг нехороший указан :smile:

Вообще никаких флагов:


hWnd = CreateWindowEx( // Создаем окно
NULL, // Улучшенный стиль окна
AppName, // Имя класса окна
AppName, // Заголовок окна
WS_OVERLAPPEDWINDOW, // Стиль окна - показать поверх всех окон
CW_USEDEFAULT, 0, // Горизонтальная и вертикальная позиции окна
800, 600, // Ширина и высота окна
NULL, // Хендл родительского окна
NULL, // Хендл меню
hInst, // Идентификатор приложения
NULL); // Дополнительные данные окна

ZXMAK
02.02.2015, 04:56
Вообще никаких флагов:


есть подозрение что это из-за того что ты полоску на тайтле рисуешь, система не любит такого вмешательства :smile:

Titus
02.02.2015, 05:01
есть подозрение что это из-за того что ты полоску на тайтле рисуешь, система не любит такого вмешательства :smile:

И что, она при это мгновенно меняет рамку с одной на другую? Уберу полоску, посмотрим.

---------- Post added at 05:01 ---------- Previous post was at 04:59 ----------

Скорее, это из-за того, что я некоторые сообщения посылаемые окну обрабатываю по своему, а они как раз относятся к рисованию рамки.

breeze
02.02.2015, 08:38
Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор.

http://i.imgur.com/IRoVRgl.png


Windows Version Microsoft Windows 8.1 (6.3) 64-bit (Build 9600)
DirectX Version 11.0
Processor Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz
Display adapter NVIDIA GeForce GTX 750 Ti
Audio device SoundBlaster Audigy

Звуковуха внешняя.

daniel
02.02.2015, 09:32
http://s008.radikal.ru/i303/1502/50/312dd63162d9.png

solegstar
02.02.2015, 10:39
http://savepic.su/4882217.png
разве что могу добавить, что звук интегрированый, как и видео. винда ХР sp3, сборка StableOS.

Titus
02.02.2015, 12:59
https://dl-web.dropbox.com/get/emu_audio_test.png?_subject_uid=137631864&w=AAB2Dp3BLnqzyJd07T1PcvTMpDqzPOjBWtg0US2ayfSQPA

Для меня, и, наверное, всех - пустое сообщение)

Rindex
02.02.2015, 13:32
solegstar, пост пустой. Ты на что скриншот загрузил? Клади сюда - http://savepic.ru/

Rindex
02.02.2015, 14:08
О, теперь видно. Спасибо.

Rindex
02.02.2015, 14:30
solegstar, Дропбокс не для картинок. Или их надо там архивировать, и давать ссылку на скачивание. Да и вообще сервис не особо удобный. Места мало дают.

---------- Post added at 14:30 ---------- Previous post was at 14:25 ----------

Я пользую Яндекс-Диск и Облако mail.ru. На облаке у меня место 1тб. Вон, в лёгкую туда запихнул 76 гигабайт.

http://zx-pk.ru/showthread.php?t=24361

Faster
02.02.2015, 14:33
Процессор: Intel(R) Core(TM)i7-3612QM
Аудиоустройство: Sony Panther Point High Definition Audio Controller (Аудиокодек Realtek ALC275)
Графический процессор: Intel(R) HD Graphics 4000
Microsoft Windows 7 Professional 6.01.7601 (Service Pack 1)
http://x-bytes.net/noutbook-1.png
http://x-bytes.net/noutbook-2.png

Процессор: Intel(R) Core(TM)i7-4765T
Аудиоустройство: ASRock Core (Haswell) HD Audio Controller (Аудиокодек Realtek ALC1150)
Графический процессор: Intel(R) HD Graphics 4600
Microsoft Windows 8.1 Professional 6.03.9600 64bit
http://x-bytes.net/pc-1.png
http://x-bytes.net/pc-2.png

Titus
02.02.2015, 15:12
Процессор: Intel(R) Core(TM)i7-4765T
Аудиоустройство: ASRock Core (Haswell) HD Audio Controller (Аудиокодек Realtek ALC1150)
Графический процессор: Intel(R) HD Graphics 4600
Microsoft Windows 8.1 Professional 6.03.9600 64bit

50Гц? LCD? Это что за моник такой?

Faster
02.02.2015, 15:20
50Гц? LCD? Это что за моник такой?
Ага.:) LG IPS237L (24")
http://x-bytes.net/lcd.png

Titus
02.02.2015, 16:13
Ага.:) LG IPS237L (24")

Вах! Хачу такой!
Плавно скроллы едут? Или замыливаются при движении?

Faster
02.02.2015, 16:29
Вах! Хачу такой!
Плавно скроллы едут? Или замыливаются при движении?
Плавно. :) Вообще время отклика - 5мс (GtG). Поэтому некоторая "размазня" тоже присутствует на one-frame эффектах. Все-таки LCD это не CRT.

p.s. я ошибся, моник - 23", но это не принципиально в данном случае.:)

Rindex
02.02.2015, 16:33
Все-таки LCD это не CRT.

Это LED телевизор. Там матрица покруче стоит, чем на LCD. На OLED думаю что изображение будет ещё лучше. Но и цена его будет намного повыше.

Titus
02.02.2015, 16:41
Плавно. :) Вообще время отклика - 5мс (GtG). Поэтому некоторая "размазня" тоже присутствует на one-frame эффектах. Все-таки LCD это не CRT.

p.s. я ошибся, моник - 23", но это не принципиально в данном случае.:)

Для равноценности отклика матрицы как на гашение пикселя, так и на зажигание, можно проверить скроллирующимся изображением с чередованием черных и светлых полос. Попробуй запустить мой эмуль УКНЦ (http://zx-pk.ru/showthread.php?t=18027) (это просто, скачал и запустил), и когда загрузится система написать DIR и нажать Enter. Экран должен покадрово синхронно с твоей разверткой начать скроллироваться. При этом на плохих LCD могут наблюдаться два эффекта:
1) Падение яркости из-за того, что скроллируются чередующиеся черные и светлые пиксели, и матрица не успевает зажечь пиксели так же быстро, как и гасить.
2) Замыливание изображения.

Хорошо бы проверить на твоем монике эти два эффекта на 50Гц.

Rindex
02.02.2015, 16:45
При этом на плохих LCD могут наблюдаться два эффекта

И ещё один тогда, и он мне не нравится. Там чёрный совсем не чёрный цвет. Какой-то серый...

Titus
02.02.2015, 16:57
Специальная версия теста (http://sderni.ru/259948) для тех, у кого почему-то сбивается таймер высокого разрешения, а конкретно для ZXMAK'а.

Запусти, и скопипасть то, что пишется в консольном окне.
Там каждая строчка - это временная позиция прихода нотификации в пересчете на пиксели. Колебаться эти значения могут, смещаться постепенно могут, могут даже быть задержки на сколько-то кадров, когда таскаешь окно, но они восстанавливаются. А вот чего быть не может (но у тебя есть) - это некратное размеру буфера смещение во времени. Это и надо рассмотреть.

CodeMaster
02.02.2015, 17:06
Это LED телевизор.

Какой это телевизор? Это просто монитор.

Faster
02.02.2015, 17:08
Хорошо бы проверить на твоем монике эти два эффекта на 50Гц.
Запустил...
1. Падения яркости не было. Эффект отработал на ура.
2. Замыливания изображения вобщем-то тоже нет. (из 5 баллов я бы поставил 4.9 по качеству отображения эффекта)

Titus
02.02.2015, 17:09
Запустил...
1. Падения яркости не было. Эффект отработал на ура.
2. Замыливания изображения вобщем-то тоже нет. (из 5 баллов я бы поставил 4.9 по качеству отображения эффекта)

Т.е. все абсолютно плавно движется?

а 0.1 сбавил за что?)

Rindex
02.02.2015, 17:20
Какой это телевизор? Это просто монитор.

Извиняюсь, монитор. Но всякие плоские телевизоры можно же тоже подцепить. У некоторых даже покруче разрешение будет.

Faster
02.02.2015, 17:20
Т.е. все абсолютно плавно движется?
Да, плавно.

а 0.1 сбавил за что?)
ну это просто моя придирка к отображению скроллируемого изображения на LCD.:) Так что считай тоже 5...

Titus
02.02.2015, 17:31
ну это просто моя придирка к отображению скроллируемого изображения на LCD.:) Так что считай тоже 5...

Я просто озадачился переходом на LCD, но при этом нужно чтобы он держал 50Гц, при этом не мылился и не тускнел в подобных случаях. Получается, что у тебя именно из этой серии монитор. Он так и позиционировался, как геймерский мультисинк? Какая его характеристика отвечает за плавность экрана и поддержку разных кадровых разверток?

Rindex
02.02.2015, 17:33
А 100Гц если подцепить? Ведь сейчас такие есть.

Titus
02.02.2015, 17:35
А 100Гц если подцепить? Ведь сейчас такие есть.
100Гц не интересует, именно 50.

Faster
02.02.2015, 18:00
Я просто озадачился переходом на LCD, но при этом нужно чтобы он держал 50Гц, при этом не мылился и не тускнел в подобных случаях. Получается, что у тебя именно из этой серии монитор. Он так и позиционировался, как геймерский мультисинк? Какая его характеристика отвечает за плавность экрана и поддержку разных кадровых разверток?
Не знаю как насчет геймерского, лично я его покупал жене для фотошопа :) Насчет какая характеристика не могу сказать, лично для меня это было неожиданным и приятным сюрпризом, что моник держит 50Гц. Эмулем пользуюсь в основном Unreal. Двухбитплановые эффекты смотрятся как на реале, галочкой Noflic даже не пользуюсь, скроллы типа как в лоадере Insult выглядят тоже прекрасно, однофреймовые эффекты соответственно уже не так идеально смотрятся, но это уже особенность LCD. Касательно твоего эмуля УКНЦ, то тоже все хорошо, при скроллировании конечно есть некоторый эффект "смазывания" шрифта, но я субъективно посчитал это ерундой. Поэтому можешь почитать отзывы/обзоры в инете касательно этого монитора и принять соответствующее решение. Один из хороших обзоров тут (http://www.overclockers.ru/lab/51328/Ya_otkalibrovan-2._Obzor_i_testirovanie_monitora_LG_IPS237L.html).

gurfunkel
02.02.2015, 18:47
Realtek High Definition Audio (интегрир.)
Windows 7 Начальная
Intel Atom D525
http://savepic.su/4863831.jpg
http://savepic.su/4873046.jpg

ZXMAK
02.02.2015, 19:54
Специальная версия теста (http://sderni.ru/259948) для тех, у кого почему-то сбивается таймер высокого разрешения, а конкретно для ZXMAK'а.

Запусти, и скопипасть то, что пишется в консольном окне.
Там каждая строчка - это временная позиция прихода нотификации в пересчете на пиксели. Колебаться эти значения могут, смещаться постепенно могут, могут даже быть задержки на сколько-то кадров, когда таскаешь окно, но они восстанавливаются. А вот чего быть не может (но у тебя есть) - это некратное размеру буфера смещение во времени. Это и надо рассмотреть.

http://savepic.su/4862843.png

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

Titus
02.02.2015, 20:31
заметил что если много раз запускать, результаты иногда получаются разные. Иногда справа ровные полосы бывают, но если тронешь окно - все сбивается и уже не восстанавливается

Надо поймать тот момент, когда возникает ступенька, как в твоих первых тестах. Когда все просто смещено - это не информативно. Важно запечатлеть на графике и консоли момент смещения.

molodcov_alex
02.02.2015, 20:51
Win10 Technical Preview:
http://savepic.org/6851664.png

Titus
02.02.2015, 20:57
Win10 Technical Preview:
Вай! Наконец-то вин10! Фактически как и 7, и 8. Гладенько, ровненько.

TSL
02.02.2015, 21:41
deathsoft>
Пример глючного скриншота http://zx-pk.ru/showpost.php?p=779028&postcount=307
(частота отрицательная)
LARGE_INTEGER Fq;
QueryPerformanceFrequency(&Fq);
печатать частоту надо:
printf("%llu", Fq.QuadPart);
либо
printf("%I64u", Fq.QuadPart)

Titus
02.02.2015, 21:59
(частота отрицательная)

Это все мелочи, это я видел. Там частота выше 2ГГц, поэтому зашкаливает. На деле индикация частоты будет совсем иначе, сейчас тестовая версия.

Titus
02.02.2015, 23:05
Хех. Ну тогда вот загадкО. Интертретируй попробуй)
А что ты делал первую половину теста??? )

Titus
02.02.2015, 23:11
Кстати, что за винда?

И загораживать окно тестов другими окнами не надо, что-то может важное не увидеться.

---------- Post added at 23:11 ---------- Previous post was at 23:11 ----------


именно ничего. ждал когда заполнится.
Одна полоска - это окно наверх перетянул. все) Будем считать это исключением из правил..

Сделай еще разочек с этой же системы.
Любое исключение - это тоже правила.

ZXMAK
02.02.2015, 23:42
Надо поймать тот момент, когда возникает ступенька, как в твоих первых тестах. Когда все просто смещено - это не информативно. Важно запечатлеть на графике и консоли момент смещения.

вот хороший запуск поймал :smile:

http://savepic.su/4880044.png

Titus
03.02.2015, 00:09
Ты просто расскажи, как это в твоем понимании может быть) Такое больше никому не попадется. Это просто у меня только всегда акула глухая и свисток сломанный.

Я подумаю над этим) Возможно, надо будет сделать иной тест, которой смог бы обьяснить подобные явления...

---------- Post added at 00:09 ---------- Previous post was at 00:08 ----------


вот хороший запуск поймал :smile:

Будем думать.

А может быть так, что таймер высокого разрешения сбрасывает скорость или приостанавливается?

shurik-ua
03.02.2015, 00:35
что это за таймер такой - это не он случайно - Time Stamp Counter (http://en.wikipedia.org/wiki/Time_Stamp_Counter) ?

Titus
03.02.2015, 00:50
что это за таймер такой - это не он случайно - Time Stamp Counter (http://en.wikipedia.org/wiki/Time_Stamp_Counter) ?

Не знаю, как он реализован аппаратно, но системно это - вот что (https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408%28v=vs.85%29.aspx).

---------- Post added at 00:50 ---------- Previous post was at 00:42 ----------

Почитал сам статью) Да, он может быть, как TSC, так и чем-то другим. Не знаю как они избегают ситуации, когда частота процессора сбрасывается и TSC так же замедляет ход.

shurik-ua
03.02.2015, 00:56
ясно это немного другое.
можно попробовать запустить твой тест с использованием одного ядра - в диспетчере задач - процессы - задать соответствие - и оставить галочку напротив только одного ядра.

---------- Post added at 23:56 ---------- Previous post was at 23:53 ----------


Почитал сам статью) Да, он может быть, как TSC, так и чем-то другим. Не знаю как они избегают ситуации, когда частота процессора сбрасывается и TSC так же замедляет ход.

QPC helps you avoid difficulties that can be encountered with other time measurement approaches, such as reading the processor’s time stamp counter (TSC) directly.

как раз чтобы избежать несоответсвтвий и используют этот QPC

просто сам TCS можно не только читать но и записывать - вот я и подумал вдруг какой то процесс пишет туда - хотя маловероятно.

TSL
03.02.2015, 00:57
<deathsoft> в процах где TSC меняется в зависимости от частоты проца он не используется в функции QueryPerformanceCounter, а там где TCS invariant - TSC не зависит от реальной частоты проца, и не плавает когда проц переходит в энергосберегающие режимы.

Titus
03.02.2015, 01:02
ясно это немного другое.
можно попробовать запустить твой тест с использованием одного ядра - в диспетчере задач - процессы - задать соответствие - и оставить галочку напротив только одного ядра.

Думаю, что в этом нет смысла, т.к., во-первых система сама должна отслеживать, чтобы этот счетчик возвращал глобальное для всех ядер значение. И во-вторых, эмулятор тоже должен работать с любым количеством ядер. Впрочем, если судить по сбоям графиков у двух людей, это именно временный сбой или кривой счет (не исключено, что его ноги растут от аудиосистемы, а не от таймера).

---------- Post added at 00:59 ---------- Previous post was at 00:58 ----------


<deathsoft> в процах где TSC меняется в зависимости от частоты проца он не используется в функции QueryPerformanceCounter, а там где TCS invariant - TSC не зависит от реальной частоты проца, и не плавает когда проц переходит в энергосберегающие режимы.

Я так и думал. На моем компе нет энергосберегайки, и счетчик всегда 1.6ГГц, а на других, предоставленных тут он зачастую по 3.5МГц.

---------- Post added at 01:00 ---------- Previous post was at 00:59 ----------



просто сам TCS можно не только читать но и записывать - вот я и подумал вдруг какой то процесс пишет туда - хотя маловероятно.

Маловероятно, т.к. тогда бы счетчик нафиг сбился, а он не сбился а просто клонится туда, куда не следует)

---------- Post added at 01:02 ---------- Previous post was at 01:00 ----------

Кстати, у zebest, у которого прыгает счет, именно TSC используется, судя по частоте.

Titus
03.02.2015, 01:59
Даже не заморачивайся, говорю же - частный случай.

Такая вот "расческа" вписывается в твою стройнуйю теорию ?)

Обязательно надо заморачиваться.

Какая это винда такая с буфером 128 отсчетов?

Расческа вписывается.

---------- Post added at 01:59 ---------- Previous post was at 01:55 ----------

Так! Вспомнил одну интересную вещь - нотификация при хардварном буфере (а это только на WinXP может быть), иногда глючит, т.к. зависит от драйвера. Люди описывали такие эффекты, как срабатывание нотификации своего приложения от звука других приложений.

Titus
03.02.2015, 02:17
Обычная. XP Sp3.

А та система, на которой все было криво, какова?

ZXMAK
03.02.2015, 02:22
Обязательно надо заморачиваться.

Какая это винда такая с буфером 128 отсчетов?

Расческа вписывается.

---------- Post added at 01:59 ---------- Previous post was at 01:55 ----------

Так! Вспомнил одну интересную вещь - нотификация при хардварном буфере (а это только на WinXP может быть), иногда глючит, т.к. зависит от драйвера. Люди описывали такие эффекты, как срабатывание нотификации своего приложения от звука других приложений.

скорее не глючит, но от драйвера звуковой карты его поведение меняется разительно. у меня в ZXMAK2 на драйвере от win7 на графике расческа. А с родным драйвером все гладко :)

Titus
03.02.2015, 02:43
та вроде Sp2, кривая)
с этим чипсетОм я уже голову морочил и кучу тестов запускал, правда под линем. Там еще бОльшая жопа с ним была. Тесты были интересные:))

XP Sp2? Это какой-то особенный глючный комп?

---------- Post added at 02:43 ---------- Previous post was at 02:42 ----------


скорее не глючит, но от драйвера звуковой карты его поведение меняется разительно. у меня в ZXMAK2 на драйвере от win7 на графике расческа. А с родным драйвером все гладко :)

Похоже на то.

shurik-ua
03.02.2015, 03:03
процессор то какой - если амд то нужно устанавливать amd dual core optimizer - без него многие софты глючат

Digitizer
07.02.2015, 18:02
http://i58.fastpic.ru/big/2015/0207/0e/efced9bca3dd6e4acfd402f89b7dea0e.jpg
http://i63.fastpic.ru/big/2015/0207/63/5d73215a189a7755c63e534d03ce5c63.jpg
i7-4770k, win 7 sp1, Creative X-Fi Titanium

Titus
08.02.2015, 03:02
Заметил на одном из нетбуков, на котором правый график постепенно смещался вверх, что при некой активности в системе (а может и произвольно) случались резкие смещения в правом графике на ступень выше. Что означает скорее всего то, что аудиосистема иногда не успевает обработать 10мс аудиофрагмент и все проигрывание смещается на 10мс вперед.
Хорошо бы, чтобы кто-нибудь, у кого правый график поднимается вверх, запустил тест на более длительный период, наблюдая, не случиться ли резкого скачка на правом графике вверх на одну ступеньку или более. Причем, это не тот скачок, который восстанавливается обратно, а тот, который стабилен и смещает весь идущий в дальнейшем график вверх на 1 ступень.

breeze
08.02.2015, 11:34
Что означает скорее всего то, что аудиосистема иногда не успевает обработать

Узнать наверняка можно с помощью LatencyMon (http://www.resplendence.com/latencymon). Очень ценная программа, расскажет, покажется и выведет в лог, есть ли проблемы в аудиосистеме.

ZXMAK
09.02.2015, 02:27
попробовал снизить приоритет для этого теста до нормы, картинка стала стабильнее, но при запуске он сам ставит себе приоритет, поэтому сбивается после того как нормальный установишь, есть возможность как-то указать чтобы приоритет программа не трогала?

Titus
09.02.2015, 02:35
попробовал снизить приоритет для этого теста до нормы, картинка стала стабильнее, но при запуске он сам ставит себе приоритет, поэтому сбивается после того как нормальный установишь, есть возможность как-то указать чтобы приоритет программа не трогала?

Разумеется, можно) Надо так скомпилить и все) Если надо)

ZXMAK
09.02.2015, 02:39
Разумеется, можно) Надо так скомпилить и все) Если надо)

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

Titus
09.02.2015, 02:43
получается, то что юзер должен устанавливать, а не программа, юзер установить не может...

Это у меня так. Потому что нет настроек. В переспективе разумеется это должен регулировать юзер.

ZXMAK
10.02.2015, 20:31
Это у меня так. Потому что нет настроек. В переспективе разумеется это должен регулировать юзер.

изменение приоритета опасно тем, что приводит к т.н. проблеме инверсии приоритетов (http://www.vsokovikov.narod.ru/New_MSDN_API/Process_thread/inversion_priority.htm). Поэтому процесс должен по дефолту запускаться с дефолтным приоритетом - в этом случае планировщик задач обеспечивает минимум конфликтов и как результат большую производительность и лучшее время реакции.

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

Поэтому для любителей поэкспериментировать, можно конечно добавить опцию "собака на сене", но она должна быть по умолчанию выключена... :rolleyes_std:

Titus
10.02.2015, 21:17
Поэтому для любителей поэкспериментировать, можно конечно добавить опцию "собака на сене", но она должна быть по умолчанию выключена... :rolleyes_std:

Эта 'собака' - единственный пока что для меня приемлемый способ практически гарантированно отрабатывать каждый кадр все, что я хочу. Иных методов я не вижу. Если ты придумаешь иной, который будет работать на практике не хуже, пожалуйста, я всегда рад перенимать положительный опыт)

ZXMAK
11.02.2015, 00:47
Эта 'собака' - единственный пока что для меня приемлемый способ практически гарантированно отрабатывать каждый кадр все, что я хочу. Иных методов я не вижу. Если ты придумаешь иной, который будет работать на практике не хуже, пожалуйста, я всегда рад перенимать положительный опыт)

так все давно придумано, использовать дефолтный приоритет для процесса - просто его не трогать и будет работать быстрей и надежней - никаких инверсий приоритета :wink:

Titus
11.02.2015, 00:48
так все давно придумано, использовать дефолтный приоритет для процесса - просто его не трогать и будет работать быстрей и надежней - никаких инверсий приоритета :wink:

Так как работает у тебя - меня не устраивает) Любая активность и бе, ме, все затыкается)
Так как работает у меня - меня устраивает. Почему я должен тебе верить, если теория расходится с практикой?

MetalliC
11.02.2015, 00:57
"устраивает" у всех персональное ;)
у меня лично софтины без моего ведома меняющие свой приоритет идут в /dev/null

ZXMAK
11.02.2015, 01:05
Так как работает у тебя - меня не устраивает) Любая активность и бе, ме, все затыкается)
Так как работает у меня - меня устраивает. Почему я должен тебе верить, если теория расходится с практикой?

ну у меня затыкается вовсе не от того что приоритета не хватает, а потому что есть пересечения UI потока и потока эмуляции, пересечения закрыты локами, поэтому пока UI выполняет длительные операции, поток эмуляции решивший выдать следующий кадр вынужден простаивать, пока UI поток не освободит блок кода который работает с видеокартой. А UI поток в это время сбрасывает d3d чтобы подстроить размеры backbuffer и ожидает vblank, что занимает прилично времени. Вот я с этим и воюю :)
Я всячески пытался избежать копирования изображения в новый буфер, чтобы не есть лишнее время процессора. Но сейчас прихожу к выводу что без этого не обойтись. Сейчас поток эмуляции уже изолирован от потока вывода звука, осталось изолировать от рендерера. Тут получается расплата - приходится платить дополнительным выделением памяти и временем на копирование в него ~640 кБ видеоданных, за то чтобы эмуляция была непрерывной и не зависела от того занята ли сейчас видеокарта или нет...

Почитал доки на D3D9, ситуация с ним печальная - у 9-ой версии нет нормальной поддержки многопоточности. Включение флага multithreaded приводит к дополнительному оверхеду и возможным дедлокам, т.к. такие вызовы как Create, Reset, Release очень завязаны на поток в котором работает message pump. Они могут отправлять SendMessage и перехватывать оконные сообщения, что может привести к дедлоку. Что еще хуже - этим-же и Present грешит, особенно опасно при этом нестандартные приоритеты использовать. В D3D11 с этим заметно лучше.

Titus
11.02.2015, 03:48
ну у меня затыкается вовсе не от того что приоритета не хватает, а потому что есть пересечения UI потока и потока эмуляции, пересечения закрыты локами, поэтому пока UI выполняет длительные операции, поток эмуляции решивший выдать следующий кадр вынужден простаивать, пока UI поток не освободит блок кода который работает с видеокартой. А UI поток в это время сбрасывает d3d чтобы подстроить размеры backbuffer и ожидает vblank, что занимает прилично времени. Вот я с этим и воюю :)
Я всячески пытался избежать копирования изображения в новый буфер, чтобы не есть лишнее время процессора. Но сейчас прихожу к выводу что без этого не обойтись. Сейчас поток эмуляции уже изолирован от потока вывода звука, осталось изолировать от рендерера. Тут получается расплата - приходится платить дополнительным выделением памяти и временем на копирование в него ~640 кБ видеоданных, за то чтобы эмуляция была непрерывной и не зависела от того занята ли сейчас видеокарта или нет...

У меня с этим гораздо проще, всего один закадровый буфер в котором я в текущем кадре строю картинку а по приходу VBlank первым делом делаю копирование этого буфера в окно, таким образом изображение и не попадает под луч, и доступно в следующем же кадре после своего построения.

---------- Post added at 03:48 ---------- Previous post was at 03:43 ----------


"устраивает" у всех персональное ;)
у меня лично софтины без моего ведома меняющие свой приоритет идут в /dev/null

Большинство людей, как я думаю, если это хобби, пишут софт прежде всего под себя, а затем смотрят, а не мог ли этот софт быть полезен другим? Я любитель 100% видео и аудиоидентичности при эмуляции. Чтобы я мог играться и получать полный эффект присутствия. Если для этого надо так или иначе взаимодействовать с системой (в данном случае задирать приоритет процессу), то я это буду делать, если других эффектных альтернатив не вижу. Для юзера можно сделать настраиваемым - менять приоритет/не менять, но для себя, как мне лучше - я выбор сделал.

В какой-то мере, эту приоритетофобию считаю предрассудком, ибо мои эмуляторы всегда его меняли, и никто никогда не обратил на это внимания)

ZXMAK
11.02.2015, 06:36
Если для этого надо так или иначе взаимодействовать с системой (в данном случае задирать приоритет процессу), то я это буду делать, если других эффектных альтернатив не вижу. Для юзера можно сделать настраиваемым - менять приоритет/не менять, но для себя, как мне лучше - я выбор сделал.

В какой-то мере, эту приоритетофобию считаю предрассудком, ибо мои эмуляторы всегда его меняли, и никто никогда не обратил на это внимания)

дело в том что устанавливая своему процессу realtime приоритет, ты тем самым снижаешь приоритет своих потоков в вызовах которые зависят от ресурсов системы, используют критические секции пересекающиеся с низкоприоритетными потоками или делают вызовы типа Sleep(0).
Это могло бы закончится вообще полным deadlock'ом, но планировщик задач системы достаточно умен, поэтому чтобы такие "хитрые" процессы не завесили систему, он раз в секунду принудительно повышает приоритет низкоприоритетным потокам, которые перестали получать процессорное время.

Можно провести аналогию с ситуацией на дороге, допустим есть мост, на котором может поместиться только одна машина, по правилам встречные машины должны дождаться, пока мост не покинет машина которая по нему уже едет. Но устанавливая realtime приоритет своему процессу ты нарушаешь это правило и въезжаешь на мост несмотря на то что он занят встречной машиной. В итоге обе машины будут вынуждены остановиться и создадут пробку, потому что ни твоя машина с высоким приоритетом, ни встречная машина имеющая низкий приоритет не смогут разминуться. Т.к. ты считаешь что у твоей машины приоритет более важный, а встречная машина не может сдать назад, т.к. сзади скопились другие машины, вы так и будете стоять, пока не приедет гаи и не оттащит тебя с моста несмотря на твои приоритеты, чтобы разрулить пробку.

Также и с приоритетами процессов. Если ресурс уже занят низкоприоритетным процессом, то твой realtime приоритет не даст ему время, чтобы освободить ресурс. В итоге у твоего процесса есть процессорное время, но он не может продолжать работу, т.к. ресурс занят низкоприоритетным процессом. А низкоприоритетный процесс не может освободить ресурс, т.к. у него низкий приоритет и он не получает на это процессорное время. Например Sleep(0) тут не поможет, т.к. отдает время только потокам с приоритетом не ниже твоего. Все что остается либо заснуть всем твоим потокам на несколько квантов времени, чтобы низкоприоритетные потоки получили время и освободили ресурс, либо ждать пока пройдет достаточно времени чтобы планировщик заметил хулиганское поведение твоего процесса и принудительно снизил ему приоритет на несколько квантов времени, чтобы разрулить затор. А это в худшем случае может произойти через 1 секунду. Как результат твой процесс с realtime приоритетом в любом случае теряет кванты времени, которые мог использовать для полезной работы.

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

Titus
11.02.2015, 11:37
Ты мне напоминаешь ученого, который с упорством доказывает инопланетянам, что их не существует)

Когда я начинал писать эмулятор, я раскроил его на множество элементов, и выводил кучу измерений - сколько времени нужно системе на то, на это, как она что делает и в какой поседовательности, сколько приходится ожидать того или сего. И именно при приоритете ближе к RealTime при моей проектировке эмулятора (это надо хорошо учесть, что это не тупое забирание приоритета, а с пониманием, что процессорное время надо отдать другим процессам), взаимодействие с системными ресурсами становилось стабильным по времени. Т.е. реакция на приход луча была наиболее точна, отрисовка окна происходила строго в определенное время без шатания как градусник в стакане и т.д. при этом я жестко нагружал систему разной активностью, таскал окошки и все такое прочее. И только после этого я пришел к выводу, что так можно делать и нужно, только так, чтобы получить максимально реалтаймовскую работу эмулятора на винде не реального времени.


Все что остается либо заснуть всем твоим потокам на несколько квантов времени, чтобы низкоприоритетные потоки получили время и освободили ресурс

Так у меня и делается, если че)

ZXMAK
11.02.2015, 12:24
Так у меня и делается, если че)

усыпить все потоки процесса невозможно, в процессе могут работать какието системные потоки или потоки чужих программ, внедренные для мониторинга и т.п., которые ты не можешь контроллировать.
Следовательно, установка приоритета приводит к тому что время любой операции связанной с ресурсами или синхронизацией потоков может доходить в худшем случае до 1 сек (максимальное время приезда гаишников для разруливания пробки на мосту) - это все чего можно добиться установкой приоритета :)
И никакого выигрыша при этом нет, приоритет не увеличивает производительность, он только заставляет гоночные машины плестись за трактором у которого приоритет :)
Пробку приоритетом создать легко, увеличить производительность - невозможно. Трактору какой приоритет не ставь, он быстрее не поедет. Можно только создать проблемы остальным автомобилям

Titus
11.02.2015, 12:38
Следовательно, установка приоритета приводит к тому что время любой операции связанной с ресурсами или синхронизацией потоков может доходить в худшем случае до 1 сек (максимальное время приезда гаишников для разруливания пробки на мосту) - это все чего можно добиться установкой приоритета :)

Хорошо, будем считать, что в твоей Вселенной мой эмулятор периодически замирает на 1 секунду.
А пойду в него играться в своей Вселенной, где все реалтаймово и красиво)

ZXMAK
11.02.2015, 12:43
Хорошо, будем считать, что в твоей Вселенной мой эмулятор периодически замирает на 1 секунду.
А пойду в него играться в своей Вселенной, где все реалтаймово и красиво)

Зачем перекручивать? На моей машине в эмустудио звук прерывается с частотой гдето 25-50 гц. Если принудительно поставить приоритет в норму, то звук перестает обрываться так часто - можно услышать до нескольких секунд чистого тона, но обрывы всеже происходят

Titus
11.02.2015, 12:47
Зачем перекручивать? На моей машине в эмустудио звук прерывается с частотой гдето 25-50 гц. Если принудительно поставить приоритет в норму, то звук перестает обрываться так часто - можно услышать до нескольких секунд чистого тона, но обрывы всеже происходят

Я тебе уже один раз обьяснял, что на твоей машине звук и не может работать нормально, т.к. на вин7 та звуковая система, что я писал для себя вообще работать не должна. Но ты мои слова не услышал)

ZXMAK
11.02.2015, 12:54
Я тебе уже один раз обьяснял, что на твоей машине звук и не может работать нормально, т.к. на вин7 та звуковая система, что я писал для себя вообще работать не должна. Но ты мои слова не услышал)

Ну в zxmak2 на моей машине звук прекрасно работает - можно слушать хоть минуту -тон идет чистый без срывов. Можно даже размер буфера уменьшить до 3-х кадров - всеравно звук стабильно работает. И без манипуляций с приоритетом процесса, с нормальным приоритетом ;)
Также и другие эмуляторы нормально звук воспроизводят и все с нормальным приоритетом ;)

Titus
11.02.2015, 12:57
Ну в zxmak2 на моей машине звук прекрасно работает - можно слушать хоть минуту -тон идет чистый без срывов. Можно даже размер буфера уменьшить до 3-х кадров - всеравно звук стабильно работает. И без манипуляций с приоритетом процесса, с нормальным приоритетом ;)
Также и другие эмуляторы нормально звук воспроизводят и все с нормальным приоритетом ;)

И что из этого?
У меня звук написан не так, как у тебя, и то, что он не работает на вин7 никакого отношения к приоритетам не имеет) Если ты хочешь узнать, почему, почитай эту тему с самого начала.

ZXMAK
11.02.2015, 13:02
И что из этого?
У меня звук написан не так, как у тебя, и то, что он не работает на вин7 никакого отношения к приоритетам не имеет) Если ты хочешь узнать, почему, почитай эту тему с самого начала.

вот я и не понимаю - зачем его (приоритет) менять, тем более что от этого значительно ухудшается нестабильность твоего алгоритма? :)
На мой взгляд - чем раньше уберешь изменение приоритета, тем быстрее допилишь алгоритм до стабильного состояния. Высокий приоритет создает затыки, а ты пытаешься исправить это изменениями в алгоритме. Убери высокий приоритет и дело быстро пойдет на лад :)

Titus
11.02.2015, 15:23
вот я и не понимаю - зачем его (приоритет) менять, тем более что от этого значительно ухудшается нестабильность твоего алгоритма? :)
На мой взгляд - чем раньше уберешь изменение приоритета, тем быстрее допилишь алгоритм до стабильного состояния. Высокий приоритет создает затыки, а ты пытаешься исправить это изменениями в алгоритме. Убери высокий приоритет и дело быстро пойдет на лад :)

Ты самый упрямый эмуляторописатель в мире! )

Говорю тебе в который раз - неиграющий звук никакого отношения к приоритетам не имеет. Он просто был заточен под очень специальную звуковуху с информацией о позиции в аудиобуфере с точностью до 1.
Выкинь звук, нет его) Это макет под мою звуковуху)
Смотри на плавность скроллинга, а не на звук)

ZXMAK
12.02.2015, 05:14
Выкинь звук, нет его) Это макет под мою звуковуху)
Смотри на плавность скроллинга, а не на звук)

скроллы работают точно также как в zxmak2, причем разницы нет - что при нормальном приоритете, что при рилтайм... без рилтайма даже чуток плавнее... ЧЯДНТ? :v2_rolley

хм... попробовал под winxp - результаты странные. Если просто запускаешь, звук вначале потрескивает, как дозиметр при приближении источника радиации :) потом стабилизируется, потом опять начинаются периоды треска. Но... Если запустить со снепшотом в командной строке (как подругому открыть непонятно), то звук почемуто стабильно дребезжит...

Попробовал под XP снизить приоритет до нормы - звук стал практически стабильным, за 10 секунд может один едва заметный сбой синхронизации. Правда в окне всеравно сыпется Can't synchronize sound. Причем такое впечатление, что сбой произошел от того что эмулятор в консоль слишком часто про Can't synchronize пишет...
Подержал немного на нормальном приоритете - ошибки сыпятся, но звук стал стабильным, за 10 сек ни одного сбоя :)
А с высоким приоритетом стабильно потрескивает с каким-то интервалом ...

Записал как потрескивает с рилтайм приоритетом, см в аттачменте (BEEP 10,30). Когда принудительно выставляешь нормальный приоритет, то через несколько секунд трещать перестает... Странно как-то. По идее реакция сразу должна быть... Кстати на записи заметил - частота бипа во время треска почему-то меняется

Кстати при DEVICE_LOST эмулятор стабильно крешится. Например запускаешь процесс эксплорер - вылазит окно UAC и эмулятор крешится. Нужно бы пофиксить ;)

Titus
12.02.2015, 13:07
скроллы работают точно также как в zxmak2, причем разницы нет - что при нормальном приоритете, что при рилтайм... без рилтайма даже чуток плавнее... ЧЯДНТ?

Все правильно делаешь. Машина у тебя мощная, многоядерная.
У меня машинка скромная, одно ядро 1.6Ггц, сразу все нюансы выплывают. Отчасти за то ее и держу.


Попробовал под XP снизить приоритет до нормы - звук стал практически стабильным, за 10 секунд может один едва заметный сбой синхронизации.

Попытка обьяснить номер 10:

صدا کار نمی کند به درستی است به دلیل اولویت نمی
(Слюшай, вах, звук нэ работает не из-за приоритетов, дарагой!)


Кстати при DEVICE_LOST эмулятор стабильно крешится. Например запускаешь процесс эксплорер - вылазит окно UAC и эмулятор крешится. Нужно бы пофиксить

Видимо, какое-то устройство теряется, звуковуха или видюха, и не восстанавливается обратно.

ZXMAK
13.02.2015, 00:47
صدا کار نمی کند به درستی است به دلیل اولویت نمی
(Слюшай, вах, звук нэ работает не из-за приоритетов, дарагой

да, ты уже упоминал что заточено под звуковуху с малым временем буфера. Но любопытно, чем обьясняется стабилизация при снижении приоритета?

Titus
13.02.2015, 02:36
да, ты уже упоминал что заточено под звуковуху с малым временем буфера. Но любопытно, чем обьясняется стабилизация при снижении приоритета?

Не стабилизация, а смена одного эффекта от ошибки на другой, что не является отсутствием ошибки в обоих случаях.

zebest
20.03.2015, 15:13
А та система, на которой все было криво, какова?
Совершенно "ровная" система, чистая WinXP SP3
ЭТО, с точки зрения твоего теста, можно как-то интрепретировать?))
http://savepic.net/6429609.jpg
и обычный скрин
http://savepic.net/6424489.jpg
Что можно сказать про звуковуху?)))))

Titus
05.04.2017, 01:43
По совету deathsoft'a наконец-то добрался до тестов вывода звука через WASAPI для Vista и более новых виндовс.

Несколько слов о WASAPI в эксклюзивном режиме - это самый низкоуровневый вывод звука, благодаря чему:
1) Исключаются любые программные мишкеры (звук получается наиболее чистый)
2) Имеем самый точный доступ к указателю на текущую позицию воспроизведения (с точностью до отсчета, а не с точностью до слона (10мс под WASAPI shared или DirectSound))
3) Т.к. вывод эксклюзивный, то во время него другие программы звук выводить не могут.

Сделал маленький тестик с консольным окошком. Кому не жалко, запустите и киньте скриншот сюда (только для винды Vista и выше) - удалено
Как пользоваться тестом:
1) При запуске запищит звуковой сигнал, длительностью 4 секунды и побегут циферки. Циферки означают минимальную разрешающую способность буфера. В основном она должна быть равна 1.
2) Как только пойдут устойчивые нули, окно можно закрывать, предварительно сделав скриншот.
3) Если закрыть окно раньше, особенно в самом начале, как только начался звук, винда может повиснуть синим экраном (да-да, вот такой он WASAPI), во всяком случае, у меня при этом стабильно виснет.

Кстати, в эксклюзивном режиме WASAPI, судя по тому, что пишут в инетах, нет никакой возможности перечислить все типы форматов проигрывания (44, 48, 96кГц и т.д.), т.к. такой функции просто нет. Вместо этого приходится предлагать системе проиграть в том или ином формате, а она уже говорит, может она это или нет. И если хочется узнать все типы проигрываемых форматов, то надо 'тупо' предлагать ей все по очереди, и те, на которые ответит согласием, помечать, как поддерживаемые.

Bedazzle
05.04.2017, 07:05
Кому не жалко, запустите и киньте скриншот сюда

Либу просит, сейчас некогда искать, на работу бегу.

https://i.imgur.com/2qRS6LO.png

Titus
05.04.2017, 07:30
Либу просит, сейчас некогда искать, на работу бегу.
Винда какая? )

Bedazzle
05.04.2017, 11:59
Винда какая? )

win7 home eng

если что - я могу и сам найти ввечеру :)

на рабочем с возможностью синего экрана что-то неохота запускать :D

Titus
05.04.2017, 12:47
Да, либа наверняка есть в пакете Visual C++ Redistributable for Visual Studio 2015 (https://www.microsoft.com/en-us/download/details.aspx%3Fid%3D48145)

А вот запустить надо) Думаю, что если все по инструкции сделаешь, то не зависнет. Но на зависание проверить желательно тоже)
Может это у меня одного зависает)

Вот, вытащил у себя из системы эту либу: VCRuntime140d (http://rgho.st/7PNW2S5Dk)

b2m
05.04.2017, 13:02
Да, либа наверняка есть в пакете Visual C++ Redistributable for Visual Studio 2015
Вряд ли в этом пакете есть дебаг-версии либ :)

Titus
05.04.2017, 13:41
Вряд ли в этом пакете есть дебаг-версии либ :)
Кстати, да, d - это же наверное Debug)
Надо было скомпилить в обычном режиме)

Alexandr Medvedev
05.04.2017, 16:04
Вот, вытащил у себя из системы эту либуТеперь требует ucrtbased.dll .

Titus
05.04.2017, 16:24
Пересобрал проект так, чтобы библиотеки были внутри экзешника. Теперь он запустится даже на XP (хотя не будет работать, ввиду отсутствия там WASAPI): удалено

Еще раз напоминаю, что закрыть окно можно только после того, как пойдут устойчивые нули.

Titus
05.04.2017, 18:44
Итак, сделал новую версию теста более информативную и безо всяких глюков с библиотеками.

Для теста надо:
1) Запустить, дослушать звук до конца (он должен быть чистым без глюков), затем чуть раздвинуть консольное окно, чтобы была видна вся информация, и кинуть скриншот сюда.
2) Для особо смелых (коих тут, как я смотрю нет) - запустить и сразу закрыть окно. Если винда зависнет, то написать сюда. Если нет, то тоже написать.

http://s016.radikal.ru/i337/1704/aa/0b73efb258fd.png

WASAPI test 2 (http://rgho.st/8MPMDMccv)

Black Cat / Era CG
05.04.2017, 18:54
http://savepic.ru/13468661.png

Titus
05.04.2017, 19:11
Странно, ошибка 88890020 означает 'AUDCLNT_E_INVALID_DEVICE_PERIOD', хотя показывается, что этот режим у тебя поддерживается.

И вот что про это пишет Микрософт:
Note Applies to Windows 7 and later.
Indicates that the device period requested by an exclusive-mode client is greater than 500 milliseconds.

Надо подумать над этим.

Hacker VBI
05.04.2017, 19:53
http://imgdepo.com/id/10496201.jpg
http://imgdepo.com/id/10496221.jpg
win7 x64, sb audigy
экран 50 Гц
если подождать, то потом не синхрится, на скрине видно скриншот предыдущей попытки.

Titus
05.04.2017, 20:00
Это не тот тест. Нужн тест wasapi.

Hacker VBI
05.04.2017, 20:01
готово. повторю скрин
http://imgdepo.com/id/10496221.jpg

Bedazzle
05.04.2017, 21:05
Валится сразу после запуска

https://i.imgur.com/eZMuy8n.png

goodboy
05.04.2017, 21:15
Для теста надо:
1) Запустить, дослушать звук до конца (он должен быть чистым без глюков), затем чуть раздвинуть консольное окно, чтобы была видна вся информация, и кинуть скриншот сюда.
под XP сразу выдаёт ошибку
http://savepic.ru/13480731.png
win8.1 (комп тот-же)
http://savepic.ru/13474587.png


2) Для особо смелых (коих тут, как я смотрю нет) - запустить и сразу закрыть окно. Если винда зависнет, то написать сюда. Если нет, то тоже написать.
иногда закрывается без проблем, хотя однажды винда вылетела с ошибкой
driver_irql_not_less........

Titus
05.04.2017, 23:11
В общем, все понятно, у большинства валится из-за слишком большого буфера. Буду думать на эту тему.
Работает только у меня и Гудбоя)
Кстати, Юра, на XP оно работать НЕ ДОЛЖНО. У тебя какая звуковуха?

- - - Добавлено - - -


Валится сразу после запуска
А ты вообще старую версию запустил) Есть уже новая, но и она у тебя скорее всего обвалится)

- - - Добавлено - - -

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

goodboy
05.04.2017, 23:15
Юра, на XP оно работать НЕ ДОЛЖНО. У тебя какая звуковуха?
SBAudigy5/Rx

Titus
05.04.2017, 23:43
SBAudigy5/Rx

У меня тоже аудиджи, только 2) Видимо, они такие, это аудиджи)

Буду делать тест, чтобы шел везде.

- - - Добавлено - - -


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

goodboy
06.04.2017, 00:13
про закрытие окна во время звучания.
иногда просто схлопывается, а один раз началась перезагрузка

Titus
06.04.2017, 00:18
про закрытие окна во время звучания.
иногда просто схлопывается, а один раз началась перезагрузка
Похоже, это реальный косяк винды, если ее так легко повесить таким образом)

goodboy
06.04.2017, 00:43
сходу гуглится типа
"Как известно, синий экран смерти, который «знаменует» возникновение ошибки DRIVER IRQL NOT LESS OR EQUAL , появляется при нахождении системной ошибки, повреждении системных файлов или физической поломки элементов системы.

Рассматриваемая нами ошибка 0x000000D1 связана с IRQ (Interrupt Request) – системными прерываниями, сообщающими процессору, что нужно прерваться на обработку какого-либо сигнала от устройства. Когда два системных устройства используют одинаковый IRQ-канал, это приводит к конфликту оборудования и появлению всем нам знакомого «синего экрана смерти».

Titus
06.04.2017, 01:00
Рассматриваемая нами ошибка 0x000000D1 связана с IRQ (Interrupt Request) – системными прерываниями, сообщающими процессору, что нужно прерваться на обработку какого-либо сигнала от устройства. Когда два системных устройства используют одинаковый IRQ-канал, это приводит к конфликту оборудования и появлению всем нам знакомого «синего экрана смерти».
Так как я совершенно не лезу в железо, а общаюсь честно через системные вызовы, то эту ошибку можно считать именно косяком винды)

- - - Добавлено - - -

WASAPI Test - 3 (http://rgho.st/8f5SV5dbz)

Обновил тест.

1) Добавилась проверка минимального периода буфера
2) Добавился перебор максимального периода, путем последовательного уменьшения в два раза, пока система не согласится. У меня работает и без этого, поэтому вся надежда на тех, у кого не работала предыдущая версия теста.

Bedazzle
06.04.2017, 08:08
А ты вообще старую версию запустил) Есть уже новая, но и она у тебя скорее всего обвалится)

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

- - - Добавлено - - -


WASAPI Test - 3 (http://rgho.st/8f5SV5dbz)


Звука не слышал, завалилось после вывода второго блока сообщений.

https://i.imgur.com/SqSyq42.png

А не может быть проблема что

https://i.imgur.com/xQgq5Qq.png

Hacker VBI
06.04.2017, 08:37
http://imgdepo.com/id/10497038.jpg
сразу обвал

Black Cat / Era CG
06.04.2017, 08:55
http://savepic.ru/13478731.png

Alex Rider
06.04.2017, 12:31
WASAPI Test - 3
Не поет, не виснет, одни нули до бесконечности. Win10,
https://cloclo20.datacloudmail.ru/weblink/view/EdLc/u8xJW6aiH?etag=E6DA21E6FF8166C99EB13A320103D4ABF5F 7587F&key=acfbd562903b86a143d7be745cbb0ab50edf4b18
https://cloclo21.datacloudmail.ru/weblink/view/AAza/tTyHh4SLd?etag=D8993449CEC1207E9E73C4D87C680860664 4DC93&key=acfbd562903b86a143d7be745cbb0ab50edf4b18

Titus
06.04.2017, 12:44
Уффф!

Сделал еще 2 теста в одном архиве. Один из этих тестов уж точно должен пойти. А то и сразу два.

WASAPI Test - 4 (2 теста) (http://rgho.st/8fZMd8wDQ)

- - - Добавлено - - -


Не поет, не виснет, одни нули до бесконечности. Win10
Судя по всему, у тебя USB звуковуха, и поддерживает только один формат 16бит 48кГц.
А ты долго ждал?

Хотя, понятно, что такая внешняя звуковуха не дает инфы о позицировании в буфере, и для хорошей эмуляции бесполезна)

Black Cat / Era CG
06.04.2017, 12:55
Сделал еще 2 теста в одном архиве. Один из этих тестов уж точно должен пойти. А то и сразу два.
Оба пищат)

Titus
06.04.2017, 12:58
Оба пищат)
А скриншоты где?

Black Cat / Era CG
06.04.2017, 13:30
Щас сделаю

- - - Добавлено - - -

http://savepic.ru/13474668.png

Titus
06.04.2017, 14:07
Щас сделаю
Отличненько.

Уже намечается некая систематизация. Но нужны еще тесты других людей.

marinovsoft
06.04.2017, 16:38
http://rgho.st/7jzgprCsm/image.png
http://rgho.st/6LH4SQMKd/image.png

Titus
06.04.2017, 16:42
Вау! 24 бита. А что за звуковуха?

marinovsoft
06.04.2017, 16:48
Realtek High Definition Audio
HDAUDIO\FUNC_01&VEN_10EC&DEV_0262&SUBSYS_144DC511&REV_1000

Если точнее, то
ATI SB600 - High Definition Audio Controller

polikarpov76
06.04.2017, 17:00
USB-звуковуха nonamed:

Test 4 Push

WASAPI Test v4 push
Windows version: 8 (*)
Supported modes (Stereo):
Rate: 44100, Bits: 16 - Yes
Rate: 44100, Bits: 24 - No
Rate: 44100, Bits: 32 - No
Rate: 48000, Bits: 16 - Yes
Rate: 48000, Bits: 24 - No
Rate: 48000, Bits: 32 - No
Rate: 96000, Bits: 16 - No
Rate: 96000, Bits: 24 - No
Rate: 96000, Bits: 32 - No
Rate: 192000, Bits: 16 - No
Rate: 192000, Bits: 24 - No
Rate: 192000, Bits: 32 - No

Now test in:
SampleRate: 48000
Channels: 2
BitsPerSample: 16
Device minimum period: 3ms
Request duration: 500ms
Actual Buffer Size: 24000

1, 41, 0, 11, 0,

Application can be closed


Test 4 Event - пишет нули до бесконечности

Встроенная Realtek HD Audio:

Test 4 Event:

WASAPI Test v4 event
Windows version: 8 (*)
Supported modes (Stereo):
Rate: 44100, Bits: 16 - Yes
Rate: 44100, Bits: 24 - Yes
Rate: 44100, Bits: 32 - No
Rate: 48000, Bits: 16 - Yes
Rate: 48000, Bits: 24 - Yes
Rate: 48000, Bits: 32 - No
Rate: 96000, Bits: 16 - Yes
Rate: 96000, Bits: 24 - Yes
Rate: 96000, Bits: 32 - No
Rate: 192000, Bits: 16 - Yes
Rate: 192000, Bits: 24 - Yes
Rate: 192000, Bits: 32 - No

Now test in:
SampleRate: 48000
Channels: 2
BitsPerSample: 16
Device minimum period: 3ms
Request duration: 500ms
Actual Buffer Size: 24576

1, 0, 0, 1, 0, 0,

Application can be closed


Test 4 Push:

WASAPI Test v4 push
Windows version: 8 (*)
Supported modes (Stereo):
Rate: 44100, Bits: 16 - Yes
Rate: 44100, Bits: 24 - Yes
Rate: 44100, Bits: 32 - No
Rate: 48000, Bits: 16 - Yes
Rate: 48000, Bits: 24 - Yes
Rate: 48000, Bits: 32 - No
Rate: 96000, Bits: 16 - Yes
Rate: 96000, Bits: 24 - Yes
Rate: 96000, Bits: 32 - No
Rate: 192000, Bits: 16 - Yes
Rate: 192000, Bits: 24 - Yes
Rate: 192000, Bits: 32 - No

Now test in:
SampleRate: 48000
Channels: 2
BitsPerSample: 16
Device minimum period: 3ms
Request duration: 500ms
Actual Buffer Size: 24576

0, 0, 1, 1, 1, 0,

Application can be closed


S24D590 HDMI intel для дисплеев:

Test 4 Event:

WASAPI Test v4 event
Windows version: 8 (*)
Supported modes (Stereo):
Rate: 44100, Bits: 16 - Yes
Rate: 44100, Bits: 24 - No
Rate: 44100, Bits: 32 - No
Rate: 48000, Bits: 16 - Yes
Rate: 48000, Bits: 24 - No
Rate: 48000, Bits: 32 - No
Rate: 96000, Bits: 16 - No
Rate: 96000, Bits: 24 - No
Rate: 96000, Bits: 32 - No
Rate: 192000, Bits: 16 - No
Rate: 192000, Bits: 24 - No
Rate: 192000, Bits: 32 - No

Now test in:
SampleRate: 48000
Channels: 2
BitsPerSample: 16
Device minimum period: 3ms
Request duration: 500ms
Actual Buffer Size: 24576

0, 0, 0, 1, 0, 0,

Application can be closed


Test 4 Push:

WASAPI Test v4 push
Windows version: 8 (*)
Supported modes (Stereo):
Rate: 44100, Bits: 16 - Yes
Rate: 44100, Bits: 24 - No
Rate: 44100, Bits: 32 - No
Rate: 48000, Bits: 16 - Yes
Rate: 48000, Bits: 24 - No
Rate: 48000, Bits: 32 - No
Rate: 96000, Bits: 16 - No
Rate: 96000, Bits: 24 - No
Rate: 96000, Bits: 32 - No
Rate: 192000, Bits: 16 - No
Rate: 192000, Bits: 24 - No
Rate: 192000, Bits: 32 - No

Now test in:
SampleRate: 48000
Channels: 2
BitsPerSample: 16
Device minimum period: 3ms
Request duration: 500ms
Actual Buffer Size: 24576

0, 1, 1, 0, 0, 0,

Application can be closed

Titus
06.04.2017, 17:35
WASAPI Test - 5 (http://rgho.st/8rwWxN2dB)

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

1) Запустить. Будет слышен звук с плавно нарастающей частотой (как космический звук). Звук должен быть ровный, без щелчков и глюков.
2) Сделать скриншот и запостить сюда.

Black Cat / Era CG
06.04.2017, 18:24
http://savepic.ru/13489823.png

zebest
06.04.2017, 18:44
http://rgho.st/6ZChxcmff/image.png
стариннайя внешняя звуковушка.
В 4 тесте пищит, но выдает нули

polikarpov76
06.04.2017, 18:59
WASAPI Test - 5:

http://savepic.ru/13488786.jpg

Titus
06.04.2017, 22:51
стариннайя внешняя звуковушка.
В 4 тесте пищит, но выдает нули
А в пятом тесте что пищит?

zebest
06.04.2017, 23:15
в пятом - вполне прилично "пиЩЩит", я по незнанию на полную громкость включил - чуть не попутал :eek:
Есть еще парочка usb-звуковушек, но там ничего интересного, в принципе.

Titus
06.04.2017, 23:17
в пятом - вполне прилично "пиЩЩит", я по незнанию на полную громкость включил - чуть не попутал :eek:
Есть еще парочка usb-звуковушек, но там ничего интересного, в принципе.
Интересно все.
С одной стороны, внешние звуковухи скорее всего мало подойдут для точной синхронизации, т.к. обмен у них пакетный.
С другой стороны, может все-таки некоторые подойдут, и это надо тоже рассмотреть.

Я вообще удивлен, откуда у народа столько USB-звуковух. Думалось, что это какая-то невиданная экзотика.

zebest
06.04.2017, 23:25
у меня материнки серверные, и не одна. На них или внешний звук, или USB, своих то нет встроенных. Наушники а5 же USB-шные, мне нравятся.

Titus
07.04.2017, 01:07
Благодаря тестам, проведенным некоторыми откликнувшимися добрыми людьми, написал некоторое текущее резюме:

Концепция синхронного вывода звука через WASAPI Exclusive:

Система вывода звука, появившаяся начиная с Windows Vista под названием WASAPI, хороша тем, что в эксклюзивном режиме использования (режим, когда звук может выводить только одно приложение) позволяет следующее:

1) Выдает наиболее качественный звук, т.к. отсутствую какие-либо программные микшеры.
2) Позволяет задать самую маленькую задержку между моментом записи программой звука в буфер и вывода звука на динамики.
3) И, что наиболее важно и интересно для меня в плане написании эмулятора с синхронным обновлением звука и видео - это возможность получать точную информацию о текущей позиции в буфере проигрывания. Исключением являются звуковухи, не умеющие проецировать свой аудиобуфер в ОЗУ. Например, USB-звуковые карты (и то под вопросом, все ли?).

Вывод звука в эксклюзивном режиме бывает двух типов:

1. Event:

В данном режиме для уменьшения задержи вывода звука, рекомендуется выбирать наименьший размер звукового буфера. Эксперименты показывают, что размер наименьшего буфера для Win7-10 почти всегда одинаков, и равен 3ms.
Далее, система выделяет 2 буфера заданного размера, и при окончании проигрывания каждого из них, выдает системное событие (Event), среагировав на которое, программа пользователя заполняет освободившийся буфер и может заснуть до следующего события. В данном режиме проигрывание буферов идет в стиле Пинг-Понг, т.е. то один буфер, то другой, по очереди.
Преимуществом данного режима является то, что программе пользователя нет необходимости следить за позицией проигрывания в буфере, тратя на это ресурсы.
Минусом данного режима является то, что невозможно заполнять буфер частями, с произвольным опережением позиции воспроизведения. Таким образом, минимальная задержка вывода звука не может быть меньше размера буфера (хотя 3мс - это весьма малая задержка, и более, чем достаточна почти для любых целей).

2. Push:

В данном режиме буфер воспроизведения как бы один (почему как бы, поясню позже), и может иметь размеры вплоть до 0.5сек. Воспроизведение буфера идет всегда по кругу, при этом пользовательской программе дается возможность точного (в большинстве случаев) отслеживания текущей позиции воспроизведения. В любой момент времени, программа может спросить у системы - милая, а сколько тебе осталось проиграть из того фрагмента, что я тебе засунул в буфер? А система и говорит - мне осталось проиграть 30%. Тогда программа говорит, окей, тогда дай мне тот кусок буфера, что у тебя уже проигран. Система говорит - да легко, бери. И дает указатель на уже не нужный ей фрагмент буфера. Программа может записать в него следующий звуковой фрагмент, и сказать системе - я записала тебе новых 70% данных. Система говорит, окей, буду играть теперь свои 30% плюс твои 70%. И все идет по кругу.
Судя по всему (как показывают эксперименты), система сама следит за закольцовкой буфера в режиме записи в него данных. Скорее всего это выглядит так: у системы два последовательно расположенных в памяти буфера, и когда программа записывает данные в начало второго буфера, система автоматически переносит их в начало первого буфера. Таким образом, о закольцовывании буфера программе пользователя думать не надо.

Ну, и самое главное, благодаря точному отслеживанию позиции воспроизведения, можно добиться хорошей синхронизации видео и аудио в эмуляторе. О важности этого можно прочитать в начале ветки.


Замечания:
1) Звуковухи Audigy-2 и Aydigy-5 были замечены в том, что в режиме Event выдавали размер буфера в 8 раз превышающий запрошенный. С чем это связано, не известно.
2) Внешние USB звуковухи имеют грубую дискретность определения текущей позиции в буфере, таким образом, построить на основе них точных синхронный эмулятор вряд ли представляется возможным. Однако, не исключено, что существуют и точные внешние звуковухи.
3) Все звуковухи поддерживают режим 16бит, 48kГц, что является требованием самой Виндовс.
Большинство звуковух поддерживают форматы 44.1кГц, 96кГц. Некоторые поддерживают и 192кГц. Так же, некоторые звуковухи поддерживают режим 24бита. Звуковух, поддерживающих 32 бита пока встречено не было.
4) Звуковые карты умеют выделять как буферы точно запрошенного размера (например, при запрошенных 24000 байтах, их и выделяют, что в шестнадцатиричном равно 0x5DC0), так и выровненные к большему числу, кратному 0x1000 (а может и 0x2000) в шестнадцатиричном. Т.е. при запрошенных 24000 байтах, выделяется 24576 (0x6000).
5) Адрес буфера аудиокарточки выделяют как произвольный, так и выровненный на 64Кб.

creator
07.04.2017, 01:44
Titus, а сделай ещё один тест, но с генерацией звука ХУ (HU). ;)


https://www.youtube.com/watch?v=cpIrDJGVdO0

https://www.youtube.com/watch?v=magoCruPSNE

https://www.youtube.com/watch?v=8-jsaX0iUDU

Bedazzle
07.04.2017, 06:47
Шапка разговаривает (https://i.imgur.com/vmZqve0.png)!

Hacker VBI
07.04.2017, 09:41
http://imgdepo.com/id/10500348.jpg

Alex Rider
07.04.2017, 11:16
Я вообще удивлен, откуда у народа столько USB-звуковух. Думалось, что это какая-то невиданная экзотика.
USB-гарнитуры, колонки. Перетестить твои тесты пока некогда, постараюсь не забыть на выходных. Твои тесты пищат в дефолтный аудиодевайс? У меня просто есть интегрированная звуковуха, USB-гарнитура и USB-колонки. Как переключить мишень для твоих тестов?

Titus
07.04.2017, 11:51
USB-гарнитуры, колонки. Перетестить твои тесты пока некогда, постараюсь не забыть на выходных. Твои тесты пищат в дефолтный аудиодевайс? У меня просто есть интегрированная звуковуха, USB-гарнитура и USB-колонки. Как переключить мишень для твоих тестов?
Пока никак. Пищат в дефолтный.

Kalantaj
07.04.2017, 13:15
Не знаю актуально ли, но на всякий случай размещу:
http://img11.lostpic.net/2017/04/07/5f6e64d366beb55fc25e1145a6e42f19.png

Titus
07.04.2017, 13:22
Не знаю актуально ли, но на всякий случай размещу:
Актуально, разумеется, пока не будет новой версии теста)

ZEman
07.04.2017, 14:58
запустил пятый тест.

Alex Rider
07.04.2017, 15:11
Пищат в дефолтный.
Ну так, а сменой дефолтного аудиодевайса можно попищать же о все звуковухи, правильно?

Titus
07.04.2017, 15:26
Ну так, а сменой дефолтного аудиодевайса можно попищать же о все звуковухи, правильно?
Думаю, что да)

Titus
02.02.2020, 15:08
Вопрос к профессионалам Windows-программирования и эмуляторописательства.

Как под DirectDraw (желательно), в крайнем случае под D3D, получить от системы точную кадровую частоту текущей развертки? Точная - это хотя бы два знака после запятой.

У DirectDraw до 8-й версии есть метод GetMonitorFrequency(), который возвращает целочисленную частоту кадров.

Однако, в документации на DirectX9.0 значится метод IDirectDraw::GetMonitorFrequency(),
который возвращает частоту уже с точностью до 2-х знаков после запятой.

Внимание, вопрос. Я так понимаю, что в составе DirectX9.0 уже нет отдельно DirectDraw. Тогда как воспользоваться интерфейсом IDirectDraw в составе D3D, чтобы эту самую точную частоту получить?

Lethargeek
03.02.2020, 00:29
хех, и как я раньше эту тему-то не заметил)) а ведь я свой эмуль тоже к видео привязал
но звук подгоняю без каких-то точных замеров (да они и невозможны под sdl) а просто по длине очереди
2-4 кадра звук отстаёт (пропускать или задавать больше нужно при разгоне зетника сильном)

- - - Добавлено - - -

Titus, а можешь перевыложить этот тест? https://zx-pk.ru/threads/21908-emustudio-zx.html?p=778940&viewfull=1#post778940

Titus
03.02.2020, 03:58
Titus, а можешь перевыложить этот тест? https://zx-pk.ru/threads/21908-emust...l=1#post778940
Похоже, у меня его не осталось, или же не могу найти.
Я эту методику забросил, т.к. она не оправдала моих надежд)

- - - Добавлено - - -


Однако, в документации на DirectX9.0 значится метод IDirectDraw::GetMonitorFrequency(),
В общем, не знаю, почему этот метод описан в DirectX9.0. Т.к. в SDK НЕТ этой функции. Я специально просканировал все файлы в комплекте.

Titus
05.02.2020, 11:01
Titus, а можешь перевыложить этот тест? https://zx-pk.ru/threads/21908-emust...l=1#post778940
Нашел тест.

Titus
06.02.2020, 00:59
Решил возобновить изыскания в области точной синхронизации звука и видео.
С учетом предыдущих наработок, написал новый тест, который более наглядно и точно покажет возможности точной синхронизации аудио в системах Vista+ (с прибитым намертво буфером в 10мс, что равно 480 отсчетам при частоте 48000Гц), а так же в системах времен доисторического материализма - WinXP, где размер буфера аудиомиксера мог колебаться в произвольных пределах.

Запускал даже в эмуляторе Win7 и WinXP под WMVare - результаты очень приличные.

Для примера скриншот с моего Win8.1:

https://pic.maxiol.com/images2/1580939496.1504841820.06.png

Что здесь что:
1. Нижний (оранжевый) график показывает размер и стабильность буфера аудиомиксера. Белая пунктирная линия обозначает стандартный буфер в 10мс на Vista+ системах. Всякие единичные всплески и провалы роли не играют. А вот шумящая нестабильность вполне может заинтересовать отца русской демократии для дальнейшего анализа.
2. Верхний (фиолетовый) график показывает тоже самое, но через призму системного таймера высокого разрешения. Тут допускаются более высокие шумы по гребню графика.


Огромная просьба - всем спектрумистам (коих все меньше, и меньше) и людям другой национальности, обязательно запустить тест, подождать заполнения экрана, ничего не трогая, и сделать скриншот основного окна и консольного окна с информацией. И вуаля - вы продвинули науку на несколько световых лет вперед! Скриншоты постить сюда, сообщив, что за система (версия виндовс), и что за аудиокарта.

p.s.: Убедительная просьба не размещать картинки средствами форума, т.к. он их сжимает, убивая возможность что-либо разглядеть. Размещайте на сторонних хостингах, например, https://pic.maxiol.com/

blackinwoman
06.02.2020, 03:28
Огромная просьба - всем спектрумистам (коих все меньше, и меньше) и людям другой национальности, обязательно запустить тест, подождать заполнения экрана, ничего не трогая, и сделать скриншот основного окна и консольного окна с информацией. И вуаля - вы продвинули науку на несколько световых лет вперед! Скриншоты постить сюда, сообщив, что за система, и что за аудиокарта.


а если есть только эмулятор виндовса ?

[bETA]mEN
06.02.2020, 05:00
звуковая карта Sound Blaster X-Fi HD

Titus
06.02.2020, 05:57
а если есть только эмулятор виндовса ?

Это даже еще лучше в некотором роде. Только напиши, что за система.

- - - Добавлено - - -


mEN;1044673"]звуковая карта Sound Blaster X-Fi HD
Винда какая? 10?

Лучше не прикреплять картинки средствами форума, т.к. он убивает качество. Но, в принципе, на твоих все еще более-менее видно.

Black Cat / Era CG
06.02.2020, 07:36
https://i.postimg.cc/Y0DKHtX4/EmuSt1.pnghttps://i.postimg.cc/KjzwQdZm/EmuSt2.png
Win7-64, Два монитора (если это важно), консолька(?) отковыривается на одном мониторе, основное окошко - на другом.
https://i.postimg.cc/1XwCWPkh/EmuSt3.png

Titus
06.02.2020, 08:44
Пока у всех все гладко. Ждем негладко и xp-шников.

Kalantaj
06.02.2020, 09:13
Win 7 64bit
CPU - AMD C-60
7145971458
- - - Добавлено - - -

Win XP SP3 32bit
CPU C-60
7146171460

Verm-V
06.02.2020, 10:34
https://s8.hostingkartinok.com/uploads/thumbs/2020/02/16dc5e5ea9c071f2c55e1457b85b3930.png (https://hostingkartinok.com/show-image.php?id=16dc5e5ea9c071f2c55e1457b85b3930)
Win7x64
проц i7-4790 @ 3.6Ghz
2 монитора
В системе два аудиоустройства:
NVIDIA High Definition Audio и
Realtek High Definition Audio
---------------------
Дома вечером еще на win10x64 запущу.
---------
А, вспомнил - на XP тоже смогу вечером протестировать.

Titus
06.02.2020, 11:06
Win XP SP3 32bit
CPU C-60
7146171460

XP - это очень важно.
Перевыложи картинку на нормальный хостинг, плиз, тут она уменьшилась.

- - - Добавлено - - -


А, вспомнил - на XP тоже смогу вечером протестировать.
XP - особенно важно и ценно.

gurfunkel
06.02.2020, 11:45
https://pic.maxiol.com/thumbs2/1580978678.2997046374.20200206124257.png (https://pic.maxiol.com/?v=1580978678.2997046374.20200206124257.png&dp=2)
https://pic.maxiol.com/thumbs2/1580978166.2997046374.20200206123154.png (https://pic.maxiol.com/?v=1580978166.2997046374.20200206123154.png&dp=2)
Windows 10 64bit,
Intel Core i3-6100 @3,7 GHz,
звуковая ASUS Xonar D1

Titus
06.02.2020, 11:46
У кого-нибудь встретилась звуковуха внешняя?

SoftLight
06.02.2020, 12:17
Microsoft Windows 10 Enterprise 10.0.16299.1625 (Win10 RS3 [1709] Fall Creators Update)
Lenovo ThinkPad T540p
Mobile DualCore Intel Core i5-4210M, 3100 MHz (31 x 100)
Realtek ALC292

[ Intel Lynx Point PCH - High Definition Audio Controller [C1] ]

Свойства устройства:
Описание устройства Intel Lynx Point PCH - High Definition Audio Controller [C1]
Описание устройства (Windows) Контроллер High Definition Audio (Microsoft)
Тип шины PCI
Шина / Устройство / Функция 0 / 27 / 0
ID устройства 8086-8C20
Субсистемный идентификатор 17AA-2210
Версия 04
Аппаратный ID PCI\VEN_8086&DEV_8C20&SUBSYS_221017AA&REV_04

[ Realtek ALC292 ]

Свойства устройства:
Описание устройства Realtek ALC292
Описание устройства (Windows) Realtek High Definition Audio
Тип устройства Audio
Тип шины HDAUDIO
ID устройства 10EC-0292
Субсистемный идентификатор 17AA-2210
Версия 1000
Аппаратный ID HDAUDIO\FUNC_01&VEN_10EC&DEV_0292&SUBSYS_17AA2210&REV_1000

https://i.ibb.co/SQx46gL/2020-02-06-12-48-49-Emu-Studio-v0-15i-Audio-Test.png (https://i.ibb.co/HN2fKyJ/2020-02-06-12-48-49-Emu-Studio-v0-15i-Audio-Test.png)

Microsoft Windows 10 Pro 10.0.17763.253 (Win10 RS5 [1809] October 2018 Update)
Виртуалка
DualCore Intel Core i5 G3220T, 2600 MHz
SigmaTel STAC9220 A1 @ Intel 82801FB(M) ICH6(-M) - High Definition Audio Controller [A1]

[ Intel 82801FB(M) ICH6(-M) - High Definition Audio Controller [A1] ]

Свойства устройства:
Описание устройства Intel 82801FB(M) ICH6(-M) - High Definition Audio Controller [A1]
Описание устройства (Windows) Контроллер High Definition Audio (Microsoft)
Тип шины PCI
Шина / Устройство / Функция 0 / 5 / 0
ID устройства 8086-2668
Субсистемный идентификатор 8384-7680
Версия 01
Аппаратный ID PCI\VEN_8086&DEV_2668&SUBSYS_76808384&REV_01

[ SigmaTel STAC9220 A1 ]

Свойства устройства:
Описание устройства SigmaTel STAC9220 A1
Описание устройства (Windows) Устройство с поддержкой High Definition Audio
Тип устройства Audio
Тип шины HDAUDIO
ID устройства 8384-7680
Субсистемный идентификатор 8384-7680
Версия 1034
Аппаратный ID HDAUDIO\FUNC_01&VEN_8384&DEV_7680&SUBSYS_83847680&REV_1034

https://i.ibb.co/1rTYBGM/2020-02-06-12-34-22-DEV1-Oracle-VM-Virtual-Box.png (https://i.ibb.co/dPDsX4t/2020-02-06-12-34-22-DEV1-Oracle-VM-Virtual-Box.png)

Microsoft Windows 10 Pro 10.0.18363.592 (Win10 19H2 [1909] November 2019 Update)
QuadCore Intel Core i5-7600, 4000 MHz (40 x 100)
Realtek ALC1220 @ Intel Kaby Point PCH - High Definition Audio Controller (Audio, Voice, Speech) PCI


[ Intel Kaby Point PCH - High Definition Audio Controller (Audio, Voice, Speech) ]

Свойства устройства:
Описание устройства Intel Kaby Point PCH - High Definition Audio Controller (Audio, Voice, Speech)
Описание устройства (Windows) Контроллер High Definition Audio (Microsoft)
Тип шины PCI
Шина / Устройство / Функция 0 / 31 / 3
ID устройства 8086-A2F0
Субсистемный идентификатор 1462-DA62
Версия 00
Аппаратный ID PCI\VEN_8086&DEV_A2F0&SUBSYS_DA621462&REV_00

[ Realtek ALC1220 ]

Свойства устройства:
Описание устройства Realtek ALC1220
Описание устройства (Windows) Realtek High Definition Audio
Тип устройства Audio
Тип шины HDAUDIO
ID устройства 10EC-1220
Субсистемный идентификатор 1462-DA62
Версия 1000
Аппаратный ID HDAUDIO\FUNC_01&VEN_10EC&DEV_1220&SUBSYS_1462DA62&REV_1000


https://i.ibb.co/b6gdThC/image.png (https://i.ibb.co/df0KF9V/image.png)

Kalantaj
06.02.2020, 12:49
XP - это очень важно.
Перевыложи картинку на нормальный хостинг, плиз, тут она уменьшилась.

http://kalantaj.pp.ua/files/atstxp1.PNG
http://kalantaj.pp.ua/files/atstxp2.PNG

Так лучше?

- - - Добавлено - - -


У кого-нибудь встретилась звуковуха внешняя?
Вечером если не забуду могу проверить - валяется 2 шт внешних USB звуковух (свистки). Устроят такие?
Если да, то на какой системе проверить?

Titus
06.02.2020, 12:53
Вечером если не забуду могу проверить - валяется 2 шт внешних USB звуковух (свистки). Устроят такие?
Если да, то на какой системе проверить?
Устроит.
На любых проверь, до которых дотянешься.

blackinwoman
06.02.2020, 14:11
Это даже еще лучше в некотором роде. Только напиши, что за система.

а сколько эта шарманка должна крутиться ? у меня без перерыва рисуются пики минут 10 уже ...

система эмулирования винды wine-4.0.3

breeze
06.02.2020, 14:19
Решил возобновить изыскания в области точной синхронизации звука и видео.

Ради такого важного дела, даж решил зайти :)

Система: Windows 10 x64
Звуковая: Audigy SE2

https://pic.maxiol.com/images2/1580987371.1446618280.0.png

При первом запуске всё отлично:

https://pic.maxiol.com/images2/1580987396.1446618280.1.png


Если потягать окошко с тестом, но видна задержка (всплеск), но возможно это чисто проблема отрисовки:

https://pic.maxiol.com/images2/1580987406.1446618280.2.png


Если «побулькать» чего-нибудь в звуковуху, но спустя пару секунд начинается «пилорама»:

https://pic.maxiol.com/images2/1580987415.1446618280.3.png

И такая хрень может быть до 10 секунд:

https://pic.maxiol.com/images2/1580987423.1446618280.4.png

Спустя некоторое время оно успокаивается:

https://pic.maxiol.com/images2/1580987431.1446618280.5.png

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

Titus
06.02.2020, 15:56
а сколько эта шарманка должна крутиться ? у меня без перерыва рисуются пики минут 10 уже ...
система эмулирования винды wine-4.0.3
Достаточно одного экрана)

- - - Добавлено - - -


Если потягать окошко с тестом, но видна задержка (всплеск), но возможно это чисто проблема отрисовки:
Это не проблема отрисовки, а проблема того, что когда таскаешь окно, процесс приостанавливается, и не получает нотификации, которые потом приходят оптом с задержкой. На это обращать внимания не надо. Это специфика реализации теста.


И такая хрень может быть до 10 секунд:

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

- - - Добавлено - - -

У меня, кстати, тоже Audigy. Она старинная, ей лет... 15. Хотя и крутая. Мне ее было не просто прикрутить к Win8.1, т.к. драйверов фиг найдешь. В итоге работает прекрасно, но всплески похожие не твои есть на тесте.

Судя по накопленной информации от тестов, большинство Vista+ систем ведут себя почти одинаково. Правда, внешние звуковухи еще никто не потестил. Очень актуально потестить WinXP. И так же актуально запуск на всяких линуксах с эмуляцией виндовса.

[bETA]mEN
06.02.2020, 19:31
Винда какая? 10?

Да

Kalantaj
06.02.2020, 21:05
Система: Win7 x64
Процессор: Xeon x3470
Аудиокарта - Noname USB. Определяется как USB PnP Sound Device. Имеет такой ID - USB\VID_8086&PID_0808&REV_0100&MI_00
выгладит так:
http://kalantaj.pp.ua/files/usb1.jpg

http://kalantaj.pp.ua/files/w7-64_usb1-2.png
http://kalantaj.pp.ua/files/w7-64_usb1-1.png

P.S. Только заметил что частота монитора 59Hz. Вроде ж должно быть 60.

Titus
06.02.2020, 21:19
P.S. Только заметил что частота монитора 59Hz. Вроде ж должно быть 60.
Здорово, что внешняя дает хорошие результаты!

Если пишет 59, значит система говорит, что 59) И последующий замер (это то, что в скобках) дал 59.000.

Kalantaj
06.02.2020, 22:10
Система: Linbux Mint 19.2 Запущено под Wine 4.0.2-bionic
Процессор: Xenon x3470

http://kalantaj.pp.ua/files/Mint19.2-x64_wine_4.0.2-bionic-1.png
http://kalantaj.pp.ua/files/Mint19.2-x64_wine_4.0.2-bionic-2.png

Titus
06.02.2020, 22:19
Система: Linbux Mint 19.2 Запущено под Wine 4.0.2-bionic
Процессор: Xenon x3470
Очень ценная инфа. И результаты хорошие.

- - - Добавлено - - -

Весьма похоже на результаты VMWare WinXP.

Bedazzle
06.02.2020, 23:11
запустить тест, подождать заполнения экрана, ничего не трогая, и сделать скриншот основного окна и консольного окна с информацией.

А что значит "подождать заполнения экрана"?
У меня сначала более-менее ровно идёт, с мелкими выбоинами, потом через некоторое время дикая расчёска, потом опять мелкое, потом опять выскакивают здоровые пики.

Titus
06.02.2020, 23:20
А что значит "подождать заполнения экрана"?
У меня сначала более-менее ровно идёт, с мелкими выбоинами, потом через некоторое время дикая расчёска, потом опять мелкое, потом опять выскакивают здоровые пики.
Ну просто подождать, пока вся ширина окна заполнится графиком.
Если график такой разный, сделай несколько скриншотов в разное время, и все.

Bedazzle
06.02.2020, 23:27
Ну просто подождать, пока вся ширина окна заполнится графиком.
Если график такой разный, сделай несколько скриншотов в разное время, и все.

Win 7
Creative Audigy LS (SB0399) Sound Card
https://i.imgur.com/KK8qq3o.png
https://i.imgur.com/FsQDuEB.png

Titus
06.02.2020, 23:33
Creative Audigy LS (SB0399) Sound Card
Спасибки! Весьма приличный вариант.

Особенно жду владельцев WinXP (а так же Линуксоидов и владельцев внешних звуковух), т.к. на всех поздних виндах результат почти одинаковый и хороший.

Verm-V
07.02.2020, 10:50
Win10x64
ноут
i5-7200U @ 2.50Ghz
Звук:
- NVIDIA Virtual Audio Device (Wave Extensible) (WDM)
- Realtek High Definition Audio

https://s8.hostingkartinok.com/uploads/thumbs/2020/02/9c647d562f4f847bc2b0610455d24564.png (https://hostingkartinok.com/show-image.php?id=9c647d562f4f847bc2b0610455d24564)
---------------

WinXPSP3x32
AMD Athlon 64 3000+ @ 2.01Ghz
Звук:
- Realtec AC'97 Audio

https://s8.hostingkartinok.com/uploads/thumbs/2020/02/24d5f8628e9218c8391ba6ba89ac4f72.png (https://hostingkartinok.com/show-image.php?id=24d5f8628e9218c8391ba6ba89ac4f72)
----------------

Все идет ровно, всплески наблюдаются только при переключении на другие приложения.

Titus
07.02.2020, 10:56
Идеальный у тебя XP)

Verm-V
07.02.2020, 11:05
Это мой старый комп, которому уже лет 15. Я его детям на растерзание и обучение отдал. :) Еще я его сильно оптимизировал отключив кучу свистоперделок и ненужных служб в винде. Так что может и в этом дело.
Если это важно (просто в твоей программе это выводится), то на компе с winXP ЖК монитор позволяет переключать частоту помимо 60, в 70 и 75 герц. Я попробовал на всех режимах результат одинаковый.

Bedazzle
07.02.2020, 11:22
Win 10

звуковуха на материнке, виндой определяется как Conexant HD audio

https://i.imgur.com/8Q1nwvn.png

goodboy
07.02.2020, 11:44
SB Audigy 5/Rx win8.1
https://a.radikal.ru/a36/2002/87/75a829e88396t.jpg (https://a.radikal.ru/a36/2002/87/75a829e88396.png)
https://c.radikal.ru/c13/2002/e5/0e3e6a335ab4t.jpg (https://c.radikal.ru/c13/2002/e5/0e3e6a335ab4.png)

а под WinXP (на том же компе)
https://d.radikal.ru/d22/2002/f7/6951c4cdbc7b.png (https://radikal.ru)

Titus
07.02.2020, 12:35
а под WinXP (на том же компе)
Проверь, установлен ли у тебя директ-икс, хотя бы 7.0.
И вообще, стоят ли дрова на видюху.

Bedazzle
07.02.2020, 12:38
а под WinXP (на том же компе)
https://d.radikal.ru/d22/2002/f7/6951c4cdbc7b.png (https://radikal.ru)

У меня такое же сообщение выпало, когда из дома через remote desktop попробовал на рабочем Win 10 запустить.
:)

Titus
07.02.2020, 13:01
У меня такое же сообщение выпало, когда из дома через remote desktop попробовал на рабочем Win 10 запустить.
Хм... тогда надо сделать вывод кода этой ошибки, чтобы понять, где спотыкается.

- - - Добавлено - - -

Заменил (https://zx-pk.ru/threads/21908-emustudio-zx.html?p=1044665&viewfull=1#post1044665) версию теста на новую. Теперь в консольном окне он напишет код ошибки, когда не может создать экранную поверхность. Просьба запустить Гудбою и Bedazzle, и сказать код ошибки.

goodboy
07.02.2020, 13:11
Проверь, установлен ли у тебя директ-икс, хотя бы 7.0.
И вообще, стоят ли дрова на видюху.
да, действительно - драйверов для GTX1060 под winXP нету.

Titus
07.02.2020, 13:20
да, действительно - драйверов для GTX1060 под winXP нету.
Все равно запусти, посмотрим код.

goodboy
07.02.2020, 13:29
https://a.radikal.ru/a34/2002/3d/55b4e40dd5a1.png (https://radikal.ru)

Titus
07.02.2020, 13:53
Это ошибка:
DDERR_NODIRECTDRAWHW
A hardware only DirectDraw object creation was attempted but the driver did not support any hardware.

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

Подумаю над этим.

- - - Добавлено - - -

Сделал 3 теста работы с экранной поверхностью.
Надо запустить каждый из них, и сказать, какие может вдруг заработают на системе ругающейся на основной тест, а какие не заработают.

goodboy
07.02.2020, 16:43
Сделал 3 теста работы с экранной поверхностью.
у меня все три не могут создать поверхность

Titus
07.02.2020, 17:41
Значит без драйверов никак.

goodboy
07.02.2020, 17:47
а смысл заморачиваться если XP практически у всех уже отсутствует

Titus
07.02.2020, 19:18
а смысл заморачиваться если XP практически у всех уже отсутствует
Пусть будет XP) XP все же встречается, особенно у эмуляорщиков.

Titus
07.02.2020, 22:58
Ну что, ребята, XP-шников не осталось совсем?

Bedazzle
08.02.2020, 01:29
Сделал 3 теста работы с экранной поверхностью.
Надо запустить каждый из них, и сказать, какие может вдруг заработают на системе ругающейся на основной тест, а какие не заработают.

Напомню, это через ремоут. На этой же машине первый тест запускался чудесно.

https://i.imgur.com/w6YbE9k.png

https://i.imgur.com/XxJ7EYk.png

https://i.imgur.com/BkVzV1r.png

- - - Добавлено - - -


Ну что, ребята, XP-шников не осталось совсем?

Сын завтра поставит себе на комп, попробуем запустить.

Titus
08.02.2020, 03:00
Напомню, это через ремоут. На этой же машине первый тест запускался чудесно.
Первый - это какой?

- - - Добавлено - - -


У меня такое же сообщение выпало, когда из дома через remote desktop попробовал на рабочем Win 10 запустить.
Ты же сам писал, что основной тест на удаленной тачке не работал?

Bedazzle
08.02.2020, 15:58
Первый - это какой?

- - - Добавлено - - -


Ты же сам писал, что основной тест на удаленной тачке не работал?

Так и есть, если через ремоут - три скриншота выше.
В понедельник запущу на нём локально.

Titus
09.02.2020, 16:15
В понедельник запущу на нём локально.
Думаю, что локально будет тоже самое.
Но твой случай не такой, как у Гудбоя. У тебя отказывается работать только с поверхностью, размещенной в видеопамяти. А если разместить в произвольной памяти, будет работать, я думаю.

- - - Добавлено - - -

В принципе, все системы, включая XP, и эмулируемая под линуксом, дают хорошие результаты. А так же имеющие внешние звуковухи.

Две системы дали не очень - это эмулируемый XP и Win7 под VMWare. Но, я думаю, на них особо ориентироваться не стоит.

Bedazzle
10.02.2020, 15:56
Сделал 3 теста работы с экранной поверхностью.
Надо запустить каждый из них, и сказать, какие может вдруг заработают на системе ругающейся на основной тест, а какие не заработают.

Win 10 (тот, который по удалёнке падал) на локале нормально запускается:

https://i.imgur.com/rXHuqHq.png

https://i.imgur.com/awXphzk.png

https://i.imgur.com/xLi416i.png

Titus
10.02.2020, 19:03
Win 10 (тот, который по удалёнке падал) на локале нормально запускается:
Спасибо! Результаты на старших виндах практически у всех одинаковые.

goodboy
11.02.2020, 10:19
нашёл (на работе) комп с XP , audio/video встроенное
https://b.radikal.ru/b40/2002/fb/f6c4974edb4a.png (https://radikal.ru)
https://a.radikal.ru/a34/2002/e7/ec75f7fcfeae.png (https://radikal.ru)
.......
Alt+PrtSc почему-то не захватывает всё окно ?
всплески есть, но на верхнем/нижнем графике они одинаковые
.......
похоже это просмоторщик кривой, в Paint содержимое окна вставляется нормально.
но при повторном запуске теста всплесков практически нет
https://a.radikal.ru/a12/2002/be/50466a976df0.png (https://radikal.ru)

Titus
11.02.2020, 11:31
А что за цвета такие странные? Совсем другие)

goodboy
11.02.2020, 11:34
качество цветопередачи оказалось 16бит, на 32 цвета совпадают

Titus
11.02.2020, 11:38
но при повторном запуске теста всплесков практически нет
Всплески подобного рода скорее всего связаны с загрузкой системы какой-то дополнительной активной задачей. А во второй раз эта задача, видимо, уже успокоилась.

- - - Добавлено - - -

Причем, на Vista и выше верхние небольшие всплески никогда бы не отражались на нижнем графике, т.к. дискретность нижнего 10мс (480 отсчетов при 48кГц). Тогда как на XP, если аудиокарточка выдает точную информацию о позиции воспроизведения (как в твоем случае), верхние всплески будут в точности повторять нижние.

goodboy
11.02.2020, 12:02
Всплески подобного рода скорее всего связаны с загрузкой системы какой-то дополнительной активной задачей. А во второй раз эта задача, видимо, уже успокоилась
скорее всего так и есть.
комп слабенький (celeron 2.8) но постоянно работает антивирусКасперского (который видимо и жрёт практически все ресурсы)

S_V_B
12.02.2020, 16:05
https://pic.maxiol.com/thumbs2/1581512262.630666996.20200212185649.png (https://pic.maxiol.com/?v=1581512262.630666996.20200212185649.png&dp=2)
https://pic.maxiol.com/thumbs2/1581512322.630666996.20200212185620.png (https://pic.maxiol.com/?v=1581512322.630666996.20200212185620.png&dp=2)
Ноут i7 винда 8.1 x64

- - - Добавлено - - -

На каких компах нужен тест?
Мощные, слабые, звуковуха, винда?

Titus
12.02.2020, 16:06
Ноут i7 винда 8.1 x64
Все в пределах нормы)

Maxvel
12.02.2020, 17:15
Wn 10,16gb, звук creative sound blaster z

https://b.radikal.ru/b11/2002/65/946eba282ccb.jpg (https://radikal.ru)

Titus
12.02.2020, 23:48
Wn 10,16gb, звук creative sound blaster z
По клику не увеличивается, а вываливается на радикал.
Но судя по миниатюре все окей.

NEO SPECTRUMAN
13.02.2020, 02:15
Ну что, ребята, XP-шников не осталось совсем?
остались конешн

а что именно(последнее актуальное) нужно тестировать?
(да и лучше бы их держать в первом посте)

Titus
13.02.2020, 10:34
а что именно(последнее актуальное) нужно тестировать?
Вот это. (https://zx-pk.ru/threads/21908-emustudio-zx.html?p=1044665&viewfull=1#post1044665)

creator
13.02.2020, 11:51
https://i111.fastpic.ru/big/2020/0213/fa/1b79906b9374b6ffc3bfe970966c25fa.png https://i111.fastpic.ru/big/2020/0213/e4/e1b1e2afafeb8205efa678d15d2b09e4.pnghttps://i111.fastpic.ru/big/2020/0213/ec/7456af053f667d14f08c31ce3564f8ec.png
https://i111.fastpic.ru/big/2020/0213/ed/c986ea37655e64599278f57b289810ed.png

NEO SPECTRUMAN
13.02.2020, 14:35
Не такой но тоже старый ноут :)
(10+)


32бит Вин ХРю
большое число свистелок и перделок(на подобии юсб вайфаев) для теста отключено


звук некое
Conexant CX20561 SmartAudio HD
https://jpegshare.net/images/b7/2a/b72a406fbf7d57402d1524bc900f94f7.png

https://jpegshare.net/images/02/22/02225d476fe85f5fb43aaed2f723517e.png

дрыгание окна
https://jpegshare.net/images/51/4e/514e02b68fc9dedf3149e9859b07663a.png


https://jpegshare.net/images/85/76/8576522e14eb7586248aef138b4341c7.png

https://jpegshare.net/images/a4/4c/a44c1910f05a2ed91ab73bacd7f05223.png
https://jpegshare.net/images/38/7d/387db8d4720a46e6bad38da8139517c2.png










no name дешевая кетайская
но не совсем обычная usb звуковая карта
по моему на основе всем известной микросхемы в виде капли :)
дрова от венды
и в устройствах зовется как USB PnP Sound Device :)

https://jpegshare.net/images/c7/04/c704b35d93122860b96d4c33bf36d9da.png

https://jpegshare.net/images/74/82/7482e021ef97dab4802b4e3aadb6de93.png

подергивание окна
https://jpegshare.net/images/bb/75/bb75512330a025c1cb9f7a6993c5ec1e.png


тут показатели стабильные
https://jpegshare.net/images/6b/5e/6b5e2ded5e74a682a4c60c95267a1f7f.png



из юсбишных еще дето есть
мп3 плеер который может работать как юсб звуковуха

и такая
https://i2.rozetka.ua/goods/12143967/29756351_images_12143967928.jpg
копеещная сгоревшая юсб звуковуха

если найду проверю...

BobrovS
23.02.2020, 15:28
Десктоп Core i7-9700K, Windows 10 Enterprise x64 (version 1909), аудио-ЦАП Denafrips Ares 1-й версии с USB-приемником XMOS XU208.
https://pic.maxiol.com/images2/1582460557.1840002282.screen1.png
https://pic.maxiol.com/images2/1582460717.1840002282.screen2.png