Просмотр полной версии : EmuStudio-ZX
На стоп не реагирует, не могу скопипастить, что то происходит при старте
Звука нет, Win8 x64
При запуске
Так, уже ура. Вывод инициализировался правильно, только не может получить с него данные о позиции.
Щас уберем это временно.
Если не зависнет, но звука не будет, возможно он просто не слышен, т.к. выводится в первое устройство - secondarylineoutwave
возможно он просто не слышен, т.к. выводится в первое устройство
Смотрю на список звуковых устройств, там уровень сигнала не скачет
Звук не слышно
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
Смотрю на список звуковых устройств, там уровень сигнала не скачет
Звук не слышно
Раз лог сходит с ума (ведет себя не так, как надо, и не останавливается), значит что-то не так, и звука может и нет.
Хотя уже хорошо, что наконец-то устройства хотя бы согласились выводить звук. Видимо, принцип вывода, как в streaming звуке им не совсем подходит... нда... надо подумать.
Попробуем ввести секундную паузу перед сообщениями при включенном звуке, чтобы сделать лог и может можно будет нажать стоп.
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
Будем искать ошибки в сигналах.
Звука нет, на стоп не реагирует, ошибки в логе выскочили при сворачивании
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
Немного отладочно информации при выводе пакета:
Ну 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
Ну RUN не реагирует
Похоже, у тебя предыдущая версия повисла, не отпустив пин. Надо перезагрузить.
Поправился
Смотри-ка, никто ни на что не ругается.
Странно, что звука нет, и странно, что не останавлиается.
Ну, допустим, неостанавливается из-за того, что кольцевой буфер не умеет сигнализировать о конце.
Но почему звука нет?
Но почему звука нет?
хз, при запущенном winamp ошибки как при были при запущенной второй копии, по переключал Winamp на все звуковые выходы, даже если я не слышу, уровень сигнала скачет в звуковых устройствах, так что по всей видимости или звук не выводит или громкость у него минимум
На стоп не реагирует, звука нет, даже скайп выключил на всякий
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
На стоп не реагирует, звука нет, даже скайп выключил на всякий
Точно последняя версия?
Я принудительно приход пакетов отключаю, а он все равно раз в секунду садит.
Сейчас сделаю отключение с оповещением, чтобы точно знать.
Перезагрузиться надо, включил неотложный режим у звукового устройства, оно видать пин подвесило, теперь звук в гарнитуре вообще не работает
Перезагрузиться надо, включил неотложный режим у звукового устройства, оно видать пин подвесило, теперь звук в гарнитуре вообще не работает
Тогда заодно и еще одна версия, в которой звук включается принудительно без нажатия RUN и передачи данных пакетами через зависающие сообщения.
Но предыдущий тест тоже надо запустить.
Перезагрузился на свою голову, 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
0.536: Failed to Set Pin State
Ну хоть какой-то прогресс.
Тот же тест, но с выдачей кода ошибки:
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
0.539: Failed to Set Pin State 80004005
Ну, эта ошибка очень информативная... E_FAIL...
В этой версии опять убрал автоматический запуск 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
Хм... Подождем тест от ZEK'a.
Звука нет, сначала 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
Звука нет, сначала stop, потом pause по ней начало пытаться звук выводить
Пытаться - это все-таки что-то звучало?
это все-таки что-то звучало?
не, лог с "Out OKAY!" пошел
Твоя теория далека от практики) Предлагаю тебе сделать рабочий макет)
---------- Post added at 17:34 ---------- Previous post was at 17:32 ----------
Т.е. каждый новый кадр спектрума совпадал с кадром развертки ПЦ?
Или же просто перед выводом нового кадра ожидался VBlank?
В первом ZXMAK синхронизация по TSC регистру процессора (при включении ограничителя 50гц), либо по vblank - в зависимости от настроек. Из за этого на многоядерных машинах и машинах с нефиксированной частотой были глюки.
В ZXMAK2 - синхра по звуковухе. Кстати, если это правда что w7 кеширует нотификации о позиции звукового буффера, то видимо именно с этим и связана некоторая неравномерность движения на плавных скролах. Дело в том что обновление экрана привязано к этим нотификациям :-)
В первом ZXMAK синхронизация по TSC регистру процессора (при включении ограничителя 50гц), либо по vblank - в зависимости от настроек. Из за этого на многоядерных машинах и машинах с нефиксированной частотой были глюки.
В ZXMAK2 - синхра по звуковухе. Кстати, если это правда что w7 кеширует нотификации о позиции звукового буффера, то видимо именно с этим и связана некоторая неравномерность движения на плавных скролах. Дело в том что обновление экрана привязано к этим нотификациям :-)
Вот-вот. И я о том, что в современных машинах нет гарантированного таймера высокого разрешения.
Логично, ни к чему другому при таком подходе и не привяжешь.
Итак, поизучав аудиосистему виндовых систем, я пришел к несколько иной парадигме синхронизации звука и видео. При этом не понадобится никакого эксклюзивного владения звуковухой (как я пытался сделать ранее), только штатными методами. Посему написал некоторый тестик, позволящий в виде графиков отобразить внутреннюю систему синхронизации аудиовывода конкретной винды. Просьба не полениться, и запустить тесты на своих машинках.
Начнет заполнятся графиками черный экранчик. В это время надо сидеть пару минут сложа ручки. Как только чернота заполнится вся, следует сделать скриншот этого окошка, и окошка консоли. И все! Выглядит это примерно так:
Win XP:
http://s017.radikal.ru/i435/1502/e2/c048bde43eaa.png
Левая, фиолетовая часть - это поведение нотификации аудиобуфера, порезанного на 10мс отрезки (именно такими фрагментами микшируется звук начиная с 7 винды, или скорее с Висты). На XP будет выглядеть скорее изрезанно, на 7-рках гладенько, ибо с ними синхронен.
Правая, синяя часть - это временной снимок проигрывания аудиобуфера. Если синяя часть постепенно отьезжает от горизонтальной линии вниз или вверх (а так на половине машин и будет), это означает, что заявленная частота проигрывания 48000 отличается от таковой на доли процента, или же что тактирование процессора и звуковухи имеет разные источники, либо же производные их коэффициентов взаимно нацело неделимые.
Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор. И все!
Скачать ТЕСТ (http://sderni.ru/259899)
Я тебе завтра вообще видео запишу. Но у меня видеокарта не новая.
Я тебе завтра вообще видео запишу. Но у меня видеокарта не новая.
Видео НЕ НАДО) Нужен скриншот)
ubuntu/wine 1.7.3
50917
50918
ubuntu/wine 1.7.3
Спасибище! Убунту - это очень кстати, т.к. экзотическая система.
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)
Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор. И все!
Скачать ТЕСТ (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
в файле похоже троян:
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 - зачем это?
Стандартный бордюр намного лучше выглядит.
Я бордюр вообще не трогаю, открываю стандартное окно)
Еще картинка, после некоторого времени работы :)
Обращу внимание стандартный бордюр у консольного окна выглядит намного лучше чем эмуляция окон win7 :)
http://savepic.su/4893676.png
Еще картинка, после некоторого времени работы :)
Обращу внимание стандартный бордюр у консольного окна выглядит намного лучше чем эмуляция окон win7 :)
Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().
Попробуй еще раз запустить тест с нуля, и ничего не двигать.
shurik-ua
02.02.2015, 04:19
что это за параметр QPFrequency ?
что это за параметр QPFrequency ?
Частота таймера высокого разрешения.
У кого-то он 3.5МГц, у кого-то 14МГц, а у меня, кстати, 1.6ГГц)
Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().
Попробуй еще раз запустить тест с нуля, и ничего не двигать.
вот не двигал:
http://savepic.su/4886508.png
если я правильно понял то рисуются полоски сверху вниз на которых время нотификации от аудиобуфера, а справа точность детекта vblank, верно?
Тогда что означают эти пересечения слева, из которых такие красивые кирпичи получаются? :biggrin:
---------- Post added at 03:29 ---------- Previous post was at 03:26 ----------
Вообще не понятно, почему эмулируются окна от Вин7. Я открываю окно стандартно через CreateWindowEx().
хз, может какой-то флаг нехороший указан :smile:
вот не двигал
если я правильно понял то рисуются полоски сверху вниз на которых время нотификации от аудиобуфера, а справа точность детекта 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); // Дополнительные данные окна
Вообще никаких флагов:
есть подозрение что это из-за того что ты полоску на тайтле рисуешь, система не любит такого вмешательства :smile:
есть подозрение что это из-за того что ты полоску на тайтле рисуешь, система не любит такого вмешательства :smile:
И что, она при это мгновенно меняет рамку с одной на другую? Уберу полоску, посмотрим.
---------- Post added at 05:01 ---------- Previous post was at 04:59 ----------
Скорее, это из-за того, что я некоторые сообщения посылаемые окну обрабатываю по своему, а они как раз относятся к рисованию рамки.
Итак, надо сделать скриншот графика и консольного окна, и подписать, что за звуковуха, интегрированна она или нет, номер винды и процессор.
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
Звуковуха внешняя.
http://s008.radikal.ru/i303/1502/50/312dd63162d9.png
solegstar
02.02.2015, 10:39
http://savepic.su/4882217.png
разве что могу добавить, что звук интегрированый, как и видео. винда ХР sp3, сборка StableOS.
https://dl-web.dropbox.com/get/emu_audio_test.png?_subject_uid=137631864&w=AAB2Dp3BLnqzyJd07T1PcvTMpDqzPOjBWtg0US2ayfSQPA
Для меня, и, наверное, всех - пустое сообщение)
solegstar, пост пустой. Ты на что скриншот загрузил? Клади сюда - http://savepic.ru/
О, теперь видно. Спасибо.
solegstar, Дропбокс не для картинок. Или их надо там архивировать, и давать ссылку на скачивание. Да и вообще сервис не особо удобный. Места мало дают.
---------- Post added at 14:30 ---------- Previous post was at 14:25 ----------
Я пользую Яндекс-Диск и Облако mail.ru. На облаке у меня место 1тб. Вон, в лёгкую туда запихнул 76 гигабайт.
http://zx-pk.ru/showthread.php?t=24361
Процессор: 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
Процессор: 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? Это что за моник такой?
50Гц? LCD? Это что за моник такой?
Ага.:) LG IPS237L (24")
http://x-bytes.net/lcd.png
Ага.:) LG IPS237L (24")
Вах! Хачу такой!
Плавно скроллы едут? Или замыливаются при движении?
Вах! Хачу такой!
Плавно скроллы едут? Или замыливаются при движении?
Плавно. :) Вообще время отклика - 5мс (GtG). Поэтому некоторая "размазня" тоже присутствует на one-frame эффектах. Все-таки LCD это не CRT.
p.s. я ошибся, моник - 23", но это не принципиально в данном случае.:)
Все-таки LCD это не CRT.
Это LED телевизор. Там матрица покруче стоит, чем на LCD. На OLED думаю что изображение будет ещё лучше. Но и цена его будет намного повыше.
Плавно. :) Вообще время отклика - 5мс (GtG). Поэтому некоторая "размазня" тоже присутствует на one-frame эффектах. Все-таки LCD это не CRT.
p.s. я ошибся, моник - 23", но это не принципиально в данном случае.:)
Для равноценности отклика матрицы как на гашение пикселя, так и на зажигание, можно проверить скроллирующимся изображением с чередованием черных и светлых полос. Попробуй запустить мой эмуль УКНЦ (http://zx-pk.ru/showthread.php?t=18027) (это просто, скачал и запустил), и когда загрузится система написать DIR и нажать Enter. Экран должен покадрово синхронно с твоей разверткой начать скроллироваться. При этом на плохих LCD могут наблюдаться два эффекта:
1) Падение яркости из-за того, что скроллируются чередующиеся черные и светлые пиксели, и матрица не успевает зажечь пиксели так же быстро, как и гасить.
2) Замыливание изображения.
Хорошо бы проверить на твоем монике эти два эффекта на 50Гц.
При этом на плохих LCD могут наблюдаться два эффекта
И ещё один тогда, и он мне не нравится. Там чёрный совсем не чёрный цвет. Какой-то серый...
Специальная версия теста (http://sderni.ru/259948) для тех, у кого почему-то сбивается таймер высокого разрешения, а конкретно для ZXMAK'а.
Запусти, и скопипасть то, что пишется в консольном окне.
Там каждая строчка - это временная позиция прихода нотификации в пересчете на пиксели. Колебаться эти значения могут, смещаться постепенно могут, могут даже быть задержки на сколько-то кадров, когда таскаешь окно, но они восстанавливаются. А вот чего быть не может (но у тебя есть) - это некратное размеру буфера смещение во времени. Это и надо рассмотреть.
CodeMaster
02.02.2015, 17:06
Это LED телевизор.
Какой это телевизор? Это просто монитор.
Хорошо бы проверить на твоем монике эти два эффекта на 50Гц.
Запустил...
1. Падения яркости не было. Эффект отработал на ура.
2. Замыливания изображения вобщем-то тоже нет. (из 5 баллов я бы поставил 4.9 по качеству отображения эффекта)
Запустил...
1. Падения яркости не было. Эффект отработал на ура.
2. Замыливания изображения вобщем-то тоже нет. (из 5 баллов я бы поставил 4.9 по качеству отображения эффекта)
Т.е. все абсолютно плавно движется?
а 0.1 сбавил за что?)
Какой это телевизор? Это просто монитор.
Извиняюсь, монитор. Но всякие плоские телевизоры можно же тоже подцепить. У некоторых даже покруче разрешение будет.
Т.е. все абсолютно плавно движется?
Да, плавно.
а 0.1 сбавил за что?)
ну это просто моя придирка к отображению скроллируемого изображения на LCD.:) Так что считай тоже 5...
ну это просто моя придирка к отображению скроллируемого изображения на LCD.:) Так что считай тоже 5...
Я просто озадачился переходом на LCD, но при этом нужно чтобы он держал 50Гц, при этом не мылился и не тускнел в подобных случаях. Получается, что у тебя именно из этой серии монитор. Он так и позиционировался, как геймерский мультисинк? Какая его характеристика отвечает за плавность экрана и поддержку разных кадровых разверток?
А 100Гц если подцепить? Ведь сейчас такие есть.
А 100Гц если подцепить? Ведь сейчас такие есть.
100Гц не интересует, именно 50.
Я просто озадачился переходом на 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
Специальная версия теста (http://sderni.ru/259948) для тех, у кого почему-то сбивается таймер высокого разрешения, а конкретно для ZXMAK'а.
Запусти, и скопипасть то, что пишется в консольном окне.
Там каждая строчка - это временная позиция прихода нотификации в пересчете на пиксели. Колебаться эти значения могут, смещаться постепенно могут, могут даже быть задержки на сколько-то кадров, когда таскаешь окно, но они восстанавливаются. А вот чего быть не может (но у тебя есть) - это некратное размеру буфера смещение во времени. Это и надо рассмотреть.
http://savepic.su/4862843.png
заметил что если много раз запускать, результаты иногда получаются разные. Иногда справа ровные полосы бывают, но если тронешь окно - все сбивается и уже не восстанавливается
заметил что если много раз запускать, результаты иногда получаются разные. Иногда справа ровные полосы бывают, но если тронешь окно - все сбивается и уже не восстанавливается
Надо поймать тот момент, когда возникает ступенька, как в твоих первых тестах. Когда все просто смещено - это не информативно. Важно запечатлеть на графике и консоли момент смещения.
molodcov_alex
02.02.2015, 20:51
Win10 Technical Preview:
http://savepic.org/6851664.png
Win10 Technical Preview:
Вай! Наконец-то вин10! Фактически как и 7, и 8. Гладенько, ровненько.
deathsoft>
Пример глючного скриншота http://zx-pk.ru/showpost.php?p=779028&postcount=307
(частота отрицательная)
LARGE_INTEGER Fq;
QueryPerformanceFrequency(&Fq);
печатать частоту надо:
printf("%llu", Fq.QuadPart);
либо
printf("%I64u", Fq.QuadPart)
(частота отрицательная)
Это все мелочи, это я видел. Там частота выше 2ГГц, поэтому зашкаливает. На деле индикация частоты будет совсем иначе, сейчас тестовая версия.
Хех. Ну тогда вот загадкО. Интертретируй попробуй)
А что ты делал первую половину теста??? )
Кстати, что за винда?
И загораживать окно тестов другими окнами не надо, что-то может важное не увидеться.
---------- Post added at 23:11 ---------- Previous post was at 23:11 ----------
именно ничего. ждал когда заполнится.
Одна полоска - это окно наверх перетянул. все) Будем считать это исключением из правил..
Сделай еще разочек с этой же системы.
Любое исключение - это тоже правила.
Надо поймать тот момент, когда возникает ступенька, как в твоих первых тестах. Когда все просто смещено - это не информативно. Важно запечатлеть на графике и консоли момент смещения.
вот хороший запуск поймал :smile:
http://savepic.su/4880044.png
Ты просто расскажи, как это в твоем понимании может быть) Такое больше никому не попадется. Это просто у меня только всегда акула глухая и свисток сломанный.
Я подумаю над этим) Возможно, надо будет сделать иной тест, которой смог бы обьяснить подобные явления...
---------- 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) ?
что это за таймер такой - это не он случайно - 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 можно не только читать но и записывать - вот я и подумал вдруг какой то процесс пишет туда - хотя маловероятно.
<deathsoft> в процах где TSC меняется в зависимости от частоты проца он не используется в функции QueryPerformanceCounter, а там где TCS invariant - TSC не зависит от реальной частоты проца, и не плавает когда проц переходит в энергосберегающие режимы.
ясно это немного другое.
можно попробовать запустить твой тест с использованием одного ядра - в диспетчере задач - процессы - задать соответствие - и оставить галочку напротив только одного ядра.
Думаю, что в этом нет смысла, т.к., во-первых система сама должна отслеживать, чтобы этот счетчик возвращал глобальное для всех ядер значение. И во-вторых, эмулятор тоже должен работать с любым количеством ядер. Впрочем, если судить по сбоям графиков у двух людей, это именно временный сбой или кривой счет (не исключено, что его ноги растут от аудиосистемы, а не от таймера).
---------- 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 используется, судя по частоте.
Даже не заморачивайся, говорю же - частный случай.
Такая вот "расческа" вписывается в твою стройнуйю теорию ?)
Обязательно надо заморачиваться.
Какая это винда такая с буфером 128 отсчетов?
Расческа вписывается.
---------- Post added at 01:59 ---------- Previous post was at 01:55 ----------
Так! Вспомнил одну интересную вещь - нотификация при хардварном буфере (а это только на WinXP может быть), иногда глючит, т.к. зависит от драйвера. Люди описывали такие эффекты, как срабатывание нотификации своего приложения от звука других приложений.
Обычная. XP Sp3.
А та система, на которой все было криво, какова?
Обязательно надо заморачиваться.
Какая это винда такая с буфером 128 отсчетов?
Расческа вписывается.
---------- Post added at 01:59 ---------- Previous post was at 01:55 ----------
Так! Вспомнил одну интересную вещь - нотификация при хардварном буфере (а это только на WinXP может быть), иногда глючит, т.к. зависит от драйвера. Люди описывали такие эффекты, как срабатывание нотификации своего приложения от звука других приложений.
скорее не глючит, но от драйвера звуковой карты его поведение меняется разительно. у меня в ZXMAK2 на драйвере от win7 на графике расческа. А с родным драйвером все гладко :)
та вроде 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
Заметил на одном из нетбуков, на котором правый график постепенно смещался вверх, что при некой активности в системе (а может и произвольно) случались резкие смещения в правом графике на ступень выше. Что означает скорее всего то, что аудиосистема иногда не успевает обработать 10мс аудиофрагмент и все проигрывание смещается на 10мс вперед.
Хорошо бы, чтобы кто-нибудь, у кого правый график поднимается вверх, запустил тест на более длительный период, наблюдая, не случиться ли резкого скачка на правом графике вверх на одну ступеньку или более. Причем, это не тот скачок, который восстанавливается обратно, а тот, который стабилен и смещает весь идущий в дальнейшем график вверх на 1 ступень.
Что означает скорее всего то, что аудиосистема иногда не успевает обработать
Узнать наверняка можно с помощью LatencyMon (http://www.resplendence.com/latencymon). Очень ценная программа, расскажет, покажется и выведет в лог, есть ли проблемы в аудиосистеме.
попробовал снизить приоритет для этого теста до нормы, картинка стала стабильнее, но при запуске он сам ставит себе приоритет, поэтому сбивается после того как нормальный установишь, есть возможность как-то указать чтобы приоритет программа не трогала?
попробовал снизить приоритет для этого теста до нормы, картинка стала стабильнее, но при запуске он сам ставит себе приоритет, поэтому сбивается после того как нормальный установишь, есть возможность как-то указать чтобы приоритет программа не трогала?
Разумеется, можно) Надо так скомпилить и все) Если надо)
Разумеется, можно) Надо так скомпилить и все) Если надо)
получается, то что юзер должен устанавливать, а не программа, юзер установить не может...
получается, то что юзер должен устанавливать, а не программа, юзер установить не может...
Это у меня так. Потому что нет настроек. В переспективе разумеется это должен регулировать юзер.
Это у меня так. Потому что нет настроек. В переспективе разумеется это должен регулировать юзер.
изменение приоритета опасно тем, что приводит к т.н. проблеме инверсии приоритетов (http://www.vsokovikov.narod.ru/New_MSDN_API/Process_thread/inversion_priority.htm). Поэтому процесс должен по дефолту запускаться с дефолтным приоритетом - в этом случае планировщик задач обеспечивает минимум конфликтов и как результат большую производительность и лучшее время реакции.
Проблема с приоритетами заключается в том что система максимально эффективно работает, когда у всех одинаковый приоритет. Если появляются потоки и процессы с разным приоритетом, то это как правило приводит к конфликтам потоков из за проблемы инверсии приоритетов, что негативно сказывается на времени реакции, т.к. приводит к более длительным задержкам при синхронизации.
Поэтому для любителей поэкспериментировать, можно конечно добавить опцию "собака на сене", но она должна быть по умолчанию выключена... :rolleyes_std:
Поэтому для любителей поэкспериментировать, можно конечно добавить опцию "собака на сене", но она должна быть по умолчанию выключена... :rolleyes_std:
Эта 'собака' - единственный пока что для меня приемлемый способ практически гарантированно отрабатывать каждый кадр все, что я хочу. Иных методов я не вижу. Если ты придумаешь иной, который будет работать на практике не хуже, пожалуйста, я всегда рад перенимать положительный опыт)
Эта 'собака' - единственный пока что для меня приемлемый способ практически гарантированно отрабатывать каждый кадр все, что я хочу. Иных методов я не вижу. Если ты придумаешь иной, который будет работать на практике не хуже, пожалуйста, я всегда рад перенимать положительный опыт)
так все давно придумано, использовать дефолтный приоритет для процесса - просто его не трогать и будет работать быстрей и надежней - никаких инверсий приоритета :wink:
так все давно придумано, использовать дефолтный приоритет для процесса - просто его не трогать и будет работать быстрей и надежней - никаких инверсий приоритета :wink:
Так как работает у тебя - меня не устраивает) Любая активность и бе, ме, все затыкается)
Так как работает у меня - меня устраивает. Почему я должен тебе верить, если теория расходится с практикой?
MetalliC
11.02.2015, 00:57
"устраивает" у всех персональное ;)
у меня лично софтины без моего ведома меняющие свой приоритет идут в /dev/null
Так как работает у тебя - меня не устраивает) Любая активность и бе, ме, все затыкается)
Так как работает у меня - меня устраивает. Почему я должен тебе верить, если теория расходится с практикой?
ну у меня затыкается вовсе не от того что приоритета не хватает, а потому что есть пересечения UI потока и потока эмуляции, пересечения закрыты локами, поэтому пока UI выполняет длительные операции, поток эмуляции решивший выдать следующий кадр вынужден простаивать, пока UI поток не освободит блок кода который работает с видеокартой. А UI поток в это время сбрасывает d3d чтобы подстроить размеры backbuffer и ожидает vblank, что занимает прилично времени. Вот я с этим и воюю :)
Я всячески пытался избежать копирования изображения в новый буфер, чтобы не есть лишнее время процессора. Но сейчас прихожу к выводу что без этого не обойтись. Сейчас поток эмуляции уже изолирован от потока вывода звука, осталось изолировать от рендерера. Тут получается расплата - приходится платить дополнительным выделением памяти и временем на копирование в него ~640 кБ видеоданных, за то чтобы эмуляция была непрерывной и не зависела от того занята ли сейчас видеокарта или нет...
Почитал доки на D3D9, ситуация с ним печальная - у 9-ой версии нет нормальной поддержки многопоточности. Включение флага multithreaded приводит к дополнительному оверхеду и возможным дедлокам, т.к. такие вызовы как Create, Reset, Release очень завязаны на поток в котором работает message pump. Они могут отправлять SendMessage и перехватывать оконные сообщения, что может привести к дедлоку. Что еще хуже - этим-же и Present грешит, особенно опасно при этом нестандартные приоритеты использовать. В D3D11 с этим заметно лучше.
ну у меня затыкается вовсе не от того что приоритета не хватает, а потому что есть пересечения UI потока и потока эмуляции, пересечения закрыты локами, поэтому пока UI выполняет длительные операции, поток эмуляции решивший выдать следующий кадр вынужден простаивать, пока UI поток не освободит блок кода который работает с видеокартой. А UI поток в это время сбрасывает d3d чтобы подстроить размеры backbuffer и ожидает vblank, что занимает прилично времени. Вот я с этим и воюю :)
Я всячески пытался избежать копирования изображения в новый буфер, чтобы не есть лишнее время процессора. Но сейчас прихожу к выводу что без этого не обойтись. Сейчас поток эмуляции уже изолирован от потока вывода звука, осталось изолировать от рендерера. Тут получается расплата - приходится платить дополнительным выделением памяти и временем на копирование в него ~640 кБ видеоданных, за то чтобы эмуляция была непрерывной и не зависела от того занята ли сейчас видеокарта или нет...
У меня с этим гораздо проще, всего один закадровый буфер в котором я в текущем кадре строю картинку а по приходу VBlank первым делом делаю копирование этого буфера в окно, таким образом изображение и не попадает под луч, и доступно в следующем же кадре после своего построения.
---------- Post added at 03:48 ---------- Previous post was at 03:43 ----------
"устраивает" у всех персональное ;)
у меня лично софтины без моего ведома меняющие свой приоритет идут в /dev/null
Большинство людей, как я думаю, если это хобби, пишут софт прежде всего под себя, а затем смотрят, а не мог ли этот софт быть полезен другим? Я любитель 100% видео и аудиоидентичности при эмуляции. Чтобы я мог играться и получать полный эффект присутствия. Если для этого надо так или иначе взаимодействовать с системой (в данном случае задирать приоритет процессу), то я это буду делать, если других эффектных альтернатив не вижу. Для юзера можно сделать настраиваемым - менять приоритет/не менять, но для себя, как мне лучше - я выбор сделал.
В какой-то мере, эту приоритетофобию считаю предрассудком, ибо мои эмуляторы всегда его меняли, и никто никогда не обратил на это внимания)
Если для этого надо так или иначе взаимодействовать с системой (в данном случае задирать приоритет процессу), то я это буду делать, если других эффектных альтернатив не вижу. Для юзера можно сделать настраиваемым - менять приоритет/не менять, но для себя, как мне лучше - я выбор сделал.
В какой-то мере, эту приоритетофобию считаю предрассудком, ибо мои эмуляторы всегда его меняли, и никто никогда не обратил на это внимания)
дело в том что устанавливая своему процессу realtime приоритет, ты тем самым снижаешь приоритет своих потоков в вызовах которые зависят от ресурсов системы, используют критические секции пересекающиеся с низкоприоритетными потоками или делают вызовы типа Sleep(0).
Это могло бы закончится вообще полным deadlock'ом, но планировщик задач системы достаточно умен, поэтому чтобы такие "хитрые" процессы не завесили систему, он раз в секунду принудительно повышает приоритет низкоприоритетным потокам, которые перестали получать процессорное время.
Можно провести аналогию с ситуацией на дороге, допустим есть мост, на котором может поместиться только одна машина, по правилам встречные машины должны дождаться, пока мост не покинет машина которая по нему уже едет. Но устанавливая realtime приоритет своему процессу ты нарушаешь это правило и въезжаешь на мост несмотря на то что он занят встречной машиной. В итоге обе машины будут вынуждены остановиться и создадут пробку, потому что ни твоя машина с высоким приоритетом, ни встречная машина имеющая низкий приоритет не смогут разминуться. Т.к. ты считаешь что у твоей машины приоритет более важный, а встречная машина не может сдать назад, т.к. сзади скопились другие машины, вы так и будете стоять, пока не приедет гаи и не оттащит тебя с моста несмотря на твои приоритеты, чтобы разрулить пробку.
Также и с приоритетами процессов. Если ресурс уже занят низкоприоритетным процессом, то твой realtime приоритет не даст ему время, чтобы освободить ресурс. В итоге у твоего процесса есть процессорное время, но он не может продолжать работу, т.к. ресурс занят низкоприоритетным процессом. А низкоприоритетный процесс не может освободить ресурс, т.к. у него низкий приоритет и он не получает на это процессорное время. Например Sleep(0) тут не поможет, т.к. отдает время только потокам с приоритетом не ниже твоего. Все что остается либо заснуть всем твоим потокам на несколько квантов времени, чтобы низкоприоритетные потоки получили время и освободили ресурс, либо ждать пока пройдет достаточно времени чтобы планировщик заметил хулиганское поведение твоего процесса и принудительно снизил ему приоритет на несколько квантов времени, чтобы разрулить затор. А это в худшем случае может произойти через 1 секунду. Как результат твой процесс с realtime приоритетом в любом случае теряет кванты времени, которые мог использовать для полезной работы.
Есть правила, пока они всеми соблюдаются одинаково, все работает быстро и хорошо. Как только появляется ктото, считающий что его приоритет требует нарушение правил, начинаются заторы :)
Ты мне напоминаешь ученого, который с упорством доказывает инопланетянам, что их не существует)
Когда я начинал писать эмулятор, я раскроил его на множество элементов, и выводил кучу измерений - сколько времени нужно системе на то, на это, как она что делает и в какой поседовательности, сколько приходится ожидать того или сего. И именно при приоритете ближе к RealTime при моей проектировке эмулятора (это надо хорошо учесть, что это не тупое забирание приоритета, а с пониманием, что процессорное время надо отдать другим процессам), взаимодействие с системными ресурсами становилось стабильным по времени. Т.е. реакция на приход луча была наиболее точна, отрисовка окна происходила строго в определенное время без шатания как градусник в стакане и т.д. при этом я жестко нагружал систему разной активностью, таскал окошки и все такое прочее. И только после этого я пришел к выводу, что так можно делать и нужно, только так, чтобы получить максимально реалтаймовскую работу эмулятора на винде не реального времени.
Все что остается либо заснуть всем твоим потокам на несколько квантов времени, чтобы низкоприоритетные потоки получили время и освободили ресурс
Так у меня и делается, если че)
Так у меня и делается, если че)
усыпить все потоки процесса невозможно, в процессе могут работать какието системные потоки или потоки чужих программ, внедренные для мониторинга и т.п., которые ты не можешь контроллировать.
Следовательно, установка приоритета приводит к тому что время любой операции связанной с ресурсами или синхронизацией потоков может доходить в худшем случае до 1 сек (максимальное время приезда гаишников для разруливания пробки на мосту) - это все чего можно добиться установкой приоритета :)
И никакого выигрыша при этом нет, приоритет не увеличивает производительность, он только заставляет гоночные машины плестись за трактором у которого приоритет :)
Пробку приоритетом создать легко, увеличить производительность - невозможно. Трактору какой приоритет не ставь, он быстрее не поедет. Можно только создать проблемы остальным автомобилям
Следовательно, установка приоритета приводит к тому что время любой операции связанной с ресурсами или синхронизацией потоков может доходить в худшем случае до 1 сек (максимальное время приезда гаишников для разруливания пробки на мосту) - это все чего можно добиться установкой приоритета :)
Хорошо, будем считать, что в твоей Вселенной мой эмулятор периодически замирает на 1 секунду.
А пойду в него играться в своей Вселенной, где все реалтаймово и красиво)
Хорошо, будем считать, что в твоей Вселенной мой эмулятор периодически замирает на 1 секунду.
А пойду в него играться в своей Вселенной, где все реалтаймово и красиво)
Зачем перекручивать? На моей машине в эмустудио звук прерывается с частотой гдето 25-50 гц. Если принудительно поставить приоритет в норму, то звук перестает обрываться так часто - можно услышать до нескольких секунд чистого тона, но обрывы всеже происходят
Зачем перекручивать? На моей машине в эмустудио звук прерывается с частотой гдето 25-50 гц. Если принудительно поставить приоритет в норму, то звук перестает обрываться так часто - можно услышать до нескольких секунд чистого тона, но обрывы всеже происходят
Я тебе уже один раз обьяснял, что на твоей машине звук и не может работать нормально, т.к. на вин7 та звуковая система, что я писал для себя вообще работать не должна. Но ты мои слова не услышал)
Я тебе уже один раз обьяснял, что на твоей машине звук и не может работать нормально, т.к. на вин7 та звуковая система, что я писал для себя вообще работать не должна. Но ты мои слова не услышал)
Ну в zxmak2 на моей машине звук прекрасно работает - можно слушать хоть минуту -тон идет чистый без срывов. Можно даже размер буфера уменьшить до 3-х кадров - всеравно звук стабильно работает. И без манипуляций с приоритетом процесса, с нормальным приоритетом ;)
Также и другие эмуляторы нормально звук воспроизводят и все с нормальным приоритетом ;)
Ну в zxmak2 на моей машине звук прекрасно работает - можно слушать хоть минуту -тон идет чистый без срывов. Можно даже размер буфера уменьшить до 3-х кадров - всеравно звук стабильно работает. И без манипуляций с приоритетом процесса, с нормальным приоритетом ;)
Также и другие эмуляторы нормально звук воспроизводят и все с нормальным приоритетом ;)
И что из этого?
У меня звук написан не так, как у тебя, и то, что он не работает на вин7 никакого отношения к приоритетам не имеет) Если ты хочешь узнать, почему, почитай эту тему с самого начала.
И что из этого?
У меня звук написан не так, как у тебя, и то, что он не работает на вин7 никакого отношения к приоритетам не имеет) Если ты хочешь узнать, почему, почитай эту тему с самого начала.
вот я и не понимаю - зачем его (приоритет) менять, тем более что от этого значительно ухудшается нестабильность твоего алгоритма? :)
На мой взгляд - чем раньше уберешь изменение приоритета, тем быстрее допилишь алгоритм до стабильного состояния. Высокий приоритет создает затыки, а ты пытаешься исправить это изменениями в алгоритме. Убери высокий приоритет и дело быстро пойдет на лад :)
вот я и не понимаю - зачем его (приоритет) менять, тем более что от этого значительно ухудшается нестабильность твоего алгоритма? :)
На мой взгляд - чем раньше уберешь изменение приоритета, тем быстрее допилишь алгоритм до стабильного состояния. Высокий приоритет создает затыки, а ты пытаешься исправить это изменениями в алгоритме. Убери высокий приоритет и дело быстро пойдет на лад :)
Ты самый упрямый эмуляторописатель в мире! )
Говорю тебе в который раз - неиграющий звук никакого отношения к приоритетам не имеет. Он просто был заточен под очень специальную звуковуху с информацией о позиции в аудиобуфере с точностью до 1.
Выкинь звук, нет его) Это макет под мою звуковуху)
Смотри на плавность скроллинга, а не на звук)
Выкинь звук, нет его) Это макет под мою звуковуху)
Смотри на плавность скроллинга, а не на звук)
скроллы работают точно также как в zxmak2, причем разницы нет - что при нормальном приоритете, что при рилтайм... без рилтайма даже чуток плавнее... ЧЯДНТ? :v2_rolley
хм... попробовал под winxp - результаты странные. Если просто запускаешь, звук вначале потрескивает, как дозиметр при приближении источника радиации :) потом стабилизируется, потом опять начинаются периоды треска. Но... Если запустить со снепшотом в командной строке (как подругому открыть непонятно), то звук почемуто стабильно дребезжит...
Попробовал под XP снизить приоритет до нормы - звук стал практически стабильным, за 10 секунд может один едва заметный сбой синхронизации. Правда в окне всеравно сыпется Can't synchronize sound. Причем такое впечатление, что сбой произошел от того что эмулятор в консоль слишком часто про Can't synchronize пишет...
Подержал немного на нормальном приоритете - ошибки сыпятся, но звук стал стабильным, за 10 сек ни одного сбоя :)
А с высоким приоритетом стабильно потрескивает с каким-то интервалом ...
Записал как потрескивает с рилтайм приоритетом, см в аттачменте (BEEP 10,30). Когда принудительно выставляешь нормальный приоритет, то через несколько секунд трещать перестает... Странно как-то. По идее реакция сразу должна быть... Кстати на записи заметил - частота бипа во время треска почему-то меняется
Кстати при DEVICE_LOST эмулятор стабильно крешится. Например запускаешь процесс эксплорер - вылазит окно UAC и эмулятор крешится. Нужно бы пофиксить ;)
скроллы работают точно также как в zxmak2, причем разницы нет - что при нормальном приоритете, что при рилтайм... без рилтайма даже чуток плавнее... ЧЯДНТ?
Все правильно делаешь. Машина у тебя мощная, многоядерная.
У меня машинка скромная, одно ядро 1.6Ггц, сразу все нюансы выплывают. Отчасти за то ее и держу.
Попробовал под XP снизить приоритет до нормы - звук стал практически стабильным, за 10 секунд может один едва заметный сбой синхронизации.
Попытка обьяснить номер 10:
صدا کار نمی کند به درستی است به دلیل اولویت نمی
(Слюшай, вах, звук нэ работает не из-за приоритетов, дарагой!)
Кстати при DEVICE_LOST эмулятор стабильно крешится. Например запускаешь процесс эксплорер - вылазит окно UAC и эмулятор крешится. Нужно бы пофиксить
Видимо, какое-то устройство теряется, звуковуха или видюха, и не восстанавливается обратно.
صدا کار نمی کند به درستی است به دلیل اولویت نمی
(Слюшай, вах, звук нэ работает не из-за приоритетов, дарагой
да, ты уже упоминал что заточено под звуковуху с малым временем буфера. Но любопытно, чем обьясняется стабилизация при снижении приоритета?
да, ты уже упоминал что заточено под звуковуху с малым временем буфера. Но любопытно, чем обьясняется стабилизация при снижении приоритета?
Не стабилизация, а смена одного эффекта от ошибки на другой, что не является отсутствием ошибки в обоих случаях.
А та система, на которой все было криво, какова?
Совершенно "ровная" система, чистая WinXP SP3
ЭТО, с точки зрения твоего теста, можно как-то интрепретировать?))
http://savepic.net/6429609.jpg
и обычный скрин
http://savepic.net/6424489.jpg
Что можно сказать про звуковуху?)))))
По совету 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
Либу просит, сейчас некогда искать, на работу бегу.
Винда какая? )
Bedazzle
05.04.2017, 11:59
Винда какая? )
win7 home eng
если что - я могу и сам найти ввечеру :)
на рабочем с возможностью синего экрана что-то неохота запускать :D
Да, либа наверняка есть в пакете Visual C++ Redistributable for Visual Studio 2015 (https://www.microsoft.com/en-us/download/details.aspx%3Fid%3D48145)
А вот запустить надо) Думаю, что если все по инструкции сделаешь, то не зависнет. Но на зависание проверить желательно тоже)
Может это у меня одного зависает)
Вот, вытащил у себя из системы эту либу: VCRuntime140d (http://rgho.st/7PNW2S5Dk)
Да, либа наверняка есть в пакете Visual C++ Redistributable for Visual Studio 2015
Вряд ли в этом пакете есть дебаг-версии либ :)
Вряд ли в этом пакете есть дебаг-версии либ :)
Кстати, да, d - это же наверное Debug)
Надо было скомпилить в обычном режиме)
Alexandr Medvedev
05.04.2017, 16:04
Вот, вытащил у себя из системы эту либуТеперь требует ucrtbased.dll .
Пересобрал проект так, чтобы библиотеки были внутри экзешника. Теперь он запустится даже на XP (хотя не будет работать, ввиду отсутствия там WASAPI): удалено
Еще раз напоминаю, что закрыть окно можно только после того, как пойдут устойчивые нули.
Итак, сделал новую версию теста более информативную и безо всяких глюков с библиотеками.
Для теста надо:
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
Странно, ошибка 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 Гц
если подождать, то потом не синхрится, на скрине видно скриншот предыдущей попытки.
Это не тот тест. Нужн тест 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
Для теста надо:
1) Запустить, дослушать звук до конца (он должен быть чистым без глюков), затем чуть раздвинуть консольное окно, чтобы была видна вся информация, и кинуть скриншот сюда.
под XP сразу выдаёт ошибку
http://savepic.ru/13480731.png
win8.1 (комп тот-же)
http://savepic.ru/13474587.png
2) Для особо смелых (коих тут, как я смотрю нет) - запустить и сразу закрыть окно. Если винда зависнет, то написать сюда. Если нет, то тоже написать.
иногда закрывается без проблем, хотя однажды винда вылетела с ошибкой
driver_irql_not_less........
В общем, все понятно, у большинства валится из-за слишком большого буфера. Буду думать на эту тему.
Работает только у меня и Гудбоя)
Кстати, Юра, на XP оно работать НЕ ДОЛЖНО. У тебя какая звуковуха?
- - - Добавлено - - -
Валится сразу после запуска
А ты вообще старую версию запустил) Есть уже новая, но и она у тебя скорее всего обвалится)
- - - Добавлено - - -
И еще я смотрю, что битрейт 192кГц сейчас на большинстве звуковух в порядке вещей.
Юра, на XP оно работать НЕ ДОЛЖНО. У тебя какая звуковуха?
SBAudigy5/Rx
SBAudigy5/Rx
У меня тоже аудиджи, только 2) Видимо, они такие, это аудиджи)
Буду делать тест, чтобы шел везде.
- - - Добавлено - - -
иногда закрывается без проблем, хотя однажды винда вылетела с ошибкой
driver_irql_not_less........
Ты про закрывание вообще, или про закрывание, когда еще звук не кончился и не написалось разрешение закрыть?
про закрытие окна во время звучания.
иногда просто схлопывается, а один раз началась перезагрузка
про закрытие окна во время звучания.
иногда просто схлопывается, а один раз началась перезагрузка
Похоже, это реальный косяк винды, если ее так легко повесить таким образом)
сходу гуглится типа
"Как известно, синий экран смерти, который «знаменует» возникновение ошибки DRIVER IRQL NOT LESS OR EQUAL , появляется при нахождении системной ошибки, повреждении системных файлов или физической поломки элементов системы.
Рассматриваемая нами ошибка 0x000000D1 связана с IRQ (Interrupt Request) – системными прерываниями, сообщающими процессору, что нужно прерваться на обработку какого-либо сигнала от устройства. Когда два системных устройства используют одинаковый IRQ-канал, это приводит к конфликту оборудования и появлению всем нам знакомого «синего экрана смерти».
Рассматриваемая нами ошибка 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
Уффф!
Сделал еще 2 теста в одном архиве. Один из этих тестов уж точно должен пойти. А то и сразу два.
WASAPI Test - 4 (2 теста) (http://rgho.st/8fZMd8wDQ)
- - - Добавлено - - -
Не поет, не виснет, одни нули до бесконечности. Win10
Судя по всему, у тебя USB звуковуха, и поддерживает только один формат 16бит 48кГц.
А ты долго ждал?
Хотя, понятно, что такая внешняя звуковуха не дает инфы о позицировании в буфере, и для хорошей эмуляции бесполезна)
Black Cat / Era CG
06.04.2017, 12:55
Сделал еще 2 теста в одном архиве. Один из этих тестов уж точно должен пойти. А то и сразу два.
Оба пищат)
Оба пищат)
А скриншоты где?
Black Cat / Era CG
06.04.2017, 13:30
Щас сделаю
- - - Добавлено - - -
http://savepic.ru/13474668.png
Щас сделаю
Отличненько.
Уже намечается некая систематизация. Но нужны еще тесты других людей.
marinovsoft
06.04.2017, 16:38
http://rgho.st/7jzgprCsm/image.png
http://rgho.st/6LH4SQMKd/image.png
Вау! 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
WASAPI Test - 5 (http://rgho.st/8rwWxN2dB)
В этом тесте наконец перешли к генерации звука в реальном времени, ориентируясь на позицию в буфере. Метод называется PUSH и подходит для точной синхронизации в эмуляторах.
1) Запустить. Будет слышен звук с плавно нарастающей частотой (как космический звук). Звук должен быть ровный, без щелчков и глюков.
2) Сделать скриншот и запостить сюда.
Black Cat / Era CG
06.04.2017, 18:24
http://savepic.ru/13489823.png
http://rgho.st/6ZChxcmff/image.png
стариннайя внешняя звуковушка.
В 4 тесте пищит, но выдает нули
polikarpov76
06.04.2017, 18:59
WASAPI Test - 5:
http://savepic.ru/13488786.jpg
стариннайя внешняя звуковушка.
В 4 тесте пищит, но выдает нули
А в пятом тесте что пищит?
в пятом - вполне прилично "пиЩЩит", я по незнанию на полную громкость включил - чуть не попутал :eek:
Есть еще парочка usb-звуковушек, но там ничего интересного, в принципе.
в пятом - вполне прилично "пиЩЩит", я по незнанию на полную громкость включил - чуть не попутал :eek:
Есть еще парочка usb-звуковушек, но там ничего интересного, в принципе.
Интересно все.
С одной стороны, внешние звуковухи скорее всего мало подойдут для точной синхронизации, т.к. обмен у них пакетный.
С другой стороны, может все-таки некоторые подойдут, и это надо тоже рассмотреть.
Я вообще удивлен, откуда у народа столько USB-звуковух. Думалось, что это какая-то невиданная экзотика.
у меня материнки серверные, и не одна. На них или внешний звук, или USB, своих то нет встроенных. Наушники а5 же USB-шные, мне нравятся.
Благодаря тестам, проведенным некоторыми откликнувшимися добрыми людьми, написал некоторое текущее резюме:
Концепция синхронного вывода звука через 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Кб.
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-колонки. Как переключить мишень для твоих тестов?
USB-гарнитуры, колонки. Перетестить твои тесты пока некогда, постараюсь не забыть на выходных. Твои тесты пищат в дефолтный аудиодевайс? У меня просто есть интегрированная звуковуха, USB-гарнитура и USB-колонки. Как переключить мишень для твоих тестов?
Пока никак. Пищат в дефолтный.
Kalantaj
07.04.2017, 13:15
Не знаю актуально ли, но на всякий случай размещу:
http://img11.lostpic.net/2017/04/07/5f6e64d366beb55fc25e1145a6e42f19.png
Не знаю актуально ли, но на всякий случай размещу:
Актуально, разумеется, пока не будет новой версии теста)
Alex Rider
07.04.2017, 15:11
Пищат в дефолтный.
Ну так, а сменой дефолтного аудиодевайса можно попищать же о все звуковухи, правильно?
Ну так, а сменой дефолтного аудиодевайса можно попищать же о все звуковухи, правильно?
Думаю, что да)
Вопрос к профессионалам 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, а можешь перевыложить этот тест? https://zx-pk.ru/threads/21908-emust...l=1#post778940
Похоже, у меня его не осталось, или же не могу найти.
Я эту методику забросил, т.к. она не оправдала моих надежд)
- - - Добавлено - - -
Однако, в документации на DirectX9.0 значится метод IDirectDraw::GetMonitorFrequency(),
В общем, не знаю, почему этот метод описан в DirectX9.0. Т.к. в SDK НЕТ этой функции. Я специально просканировал все файлы в комплекте.
Titus, а можешь перевыложить этот тест? https://zx-pk.ru/threads/21908-emust...l=1#post778940
Нашел тест.
Решил возобновить изыскания в области точной синхронизации звука и видео.
С учетом предыдущих наработок, написал новый тест, который более наглядно и точно покажет возможности точной синхронизации аудио в системах 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
а если есть только эмулятор виндовса ?
Это даже еще лучше в некотором роде. Только напиши, что за система.
- - - Добавлено - - -
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
Пока у всех все гладко. Ждем негладко и xp-шников.
Kalantaj
06.02.2020, 09:13
Win 7 64bit
CPU - AMD C-60
7145971458
- - - Добавлено - - -
Win XP SP3 32bit
CPU C-60
7146171460
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 тоже смогу вечером протестировать.
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
У кого-нибудь встретилась звуковуха внешняя?
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 звуковух (свистки). Устроят такие?
Если да, то на какой системе проверить?
Вечером если не забуду могу проверить - валяется 2 шт внешних USB звуковух (свистки). Устроят такие?
Если да, то на какой системе проверить?
Устроит.
На любых проверь, до которых дотянешься.
blackinwoman
06.02.2020, 14:11
Это даже еще лучше в некотором роде. Только напиши, что за система.
а сколько эта шарманка должна крутиться ? у меня без перерыва рисуются пики минут 10 уже ...
система эмулирования винды wine-4.0.3
Решил возобновить изыскания в области точной синхронизации звука и видео.
Ради такого важного дела, даж решил зайти :)
Система: 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
Возможно проблема в самой материнке, ибо в некоторых играх звук подлагивает, а тесты показывают, что проблема с аудиобуфером. Всякие пляски с бубном отключающие прыгание частоты процессора и прочие шаманские пляски не помогли.
а сколько эта шарманка должна крутиться ? у меня без перерыва рисуются пики минут 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.
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
Система: Linbux Mint 19.2 Запущено под Wine 4.0.2-bionic
Процессор: Xenon x3470
Очень ценная инфа. И результаты хорошие.
- - - Добавлено - - -
Весьма похоже на результаты VMWare WinXP.
Bedazzle
06.02.2020, 23:11
запустить тест, подождать заполнения экрана, ничего не трогая, и сделать скриншот основного окна и консольного окна с информацией.
А что значит "подождать заполнения экрана"?
У меня сначала более-менее ровно идёт, с мелкими выбоинами, потом через некоторое время дикая расчёска, потом опять мелкое, потом опять выскакивают здоровые пики.
А что значит "подождать заполнения экрана"?
У меня сначала более-менее ровно идёт, с мелкими выбоинами, потом через некоторое время дикая расчёска, потом опять мелкое, потом опять выскакивают здоровые пики.
Ну просто подождать, пока вся ширина окна заполнится графиком.
Если график такой разный, сделай несколько скриншотов в разное время, и все.
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
Creative Audigy LS (SB0399) Sound Card
Спасибки! Весьма приличный вариант.
Особенно жду владельцев WinXP (а так же Линуксоидов и владельцев внешних звуковух), т.к. на всех поздних виндах результат почти одинаковый и хороший.
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)
----------------
Все идет ровно, всплески наблюдаются только при переключении на другие приложения.
Это мой старый комп, которому уже лет 15. Я его детям на растерзание и обучение отдал. :) Еще я его сильно оптимизировал отключив кучу свистоперделок и ненужных служб в винде. Так что может и в этом дело.
Если это важно (просто в твоей программе это выводится), то на компе с winXP ЖК монитор позволяет переключать частоту помимо 60, в 70 и 75 герц. Я попробовал на всех режимах результат одинаковый.
Bedazzle
07.02.2020, 11:22
Win 10
звуковуха на материнке, виндой определяется как Conexant HD audio
https://i.imgur.com/8Q1nwvn.png
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)
а под 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 запустить.
:)
У меня такое же сообщение выпало, когда из дома через remote desktop попробовал на рабочем Win 10 запустить.
Хм... тогда надо сделать вывод кода этой ошибки, чтобы понять, где спотыкается.
- - - Добавлено - - -
Заменил (https://zx-pk.ru/threads/21908-emustudio-zx.html?p=1044665&viewfull=1#post1044665) версию теста на новую. Теперь в консольном окне он напишет код ошибки, когда не может создать экранную поверхность. Просьба запустить Гудбою и Bedazzle, и сказать код ошибки.
Проверь, установлен ли у тебя директ-икс, хотя бы 7.0.
И вообще, стоят ли дрова на видюху.
да, действительно - драйверов для GTX1060 под winXP нету.
да, действительно - драйверов для GTX1060 под winXP нету.
Все равно запусти, посмотрим код.
https://a.radikal.ru/a34/2002/3d/55b4e40dd5a1.png (https://radikal.ru)
Это ошибка:
DDERR_NODIRECTDRAWHW
A hardware only DirectDraw object creation was attempted but the driver did not support any hardware.
На сколько я понимаю, была попытка создать поверхность, использующую какие-то функции железа, но драйвер этого не поддерживает.
Подумаю над этим.
- - - Добавлено - - -
Сделал 3 теста работы с экранной поверхностью.
Надо запустить каждый из них, и сказать, какие может вдруг заработают на системе ругающейся на основной тест, а какие не заработают.
Сделал 3 теста работы с экранной поверхностью.
у меня все три не могут создать поверхность
Значит без драйверов никак.
а смысл заморачиваться если XP практически у всех уже отсутствует
а смысл заморачиваться если XP практически у всех уже отсутствует
Пусть будет XP) XP все же встречается, особенно у эмуляорщиков.
Ну что, ребята, 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-шников не осталось совсем?
Сын завтра поставит себе на комп, попробуем запустить.
Напомню, это через ремоут. На этой же машине первый тест запускался чудесно.
Первый - это какой?
- - - Добавлено - - -
У меня такое же сообщение выпало, когда из дома через remote desktop попробовал на рабочем Win 10 запустить.
Ты же сам писал, что основной тест на удаленной тачке не работал?
Bedazzle
08.02.2020, 15:58
Первый - это какой?
- - - Добавлено - - -
Ты же сам писал, что основной тест на удаленной тачке не работал?
Так и есть, если через ремоут - три скриншота выше.
В понедельник запущу на нём локально.
В понедельник запущу на нём локально.
Думаю, что локально будет тоже самое.
Но твой случай не такой, как у Гудбоя. У тебя отказывается работать только с поверхностью, размещенной в видеопамяти. А если разместить в произвольной памяти, будет работать, я думаю.
- - - Добавлено - - -
В принципе, все системы, включая 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
Win 10 (тот, который по удалёнке падал) на локале нормально запускается:
Спасибо! Результаты на старших виндах практически у всех одинаковые.
нашёл (на работе) комп с 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)
А что за цвета такие странные? Совсем другие)
качество цветопередачи оказалось 16бит, на 32 цвета совпадают
но при повторном запуске теста всплесков практически нет
Всплески подобного рода скорее всего связаны с загрузкой системы какой-то дополнительной активной задачей. А во второй раз эта задача, видимо, уже успокоилась.
- - - Добавлено - - -
Причем, на Vista и выше верхние небольшие всплески никогда бы не отражались на нижнем графике, т.к. дискретность нижнего 10мс (480 отсчетов при 48кГц). Тогда как на XP, если аудиокарточка выдает точную информацию о позиции воспроизведения (как в твоем случае), верхние всплески будут в точности повторять нижние.
Всплески подобного рода скорее всего связаны с загрузкой системы какой-то дополнительной активной задачей. А во второй раз эта задача, видимо, уже успокоилась
скорее всего так и есть.
комп слабенький (celeron 2.8) но постоянно работает антивирусКасперского (который видимо и жрёт практически все ресурсы)
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
- - - Добавлено - - -
На каких компах нужен тест?
Мощные, слабые, звуковуха, винда?
Ноут i7 винда 8.1 x64
Все в пределах нормы)
Wn 10,16gb, звук creative sound blaster z
https://b.radikal.ru/b11/2002/65/946eba282ccb.jpg (https://radikal.ru)
Wn 10,16gb, звук creative sound blaster z
По клику не увеличивается, а вываливается на радикал.
Но судя по миниатюре все окей.
NEO SPECTRUMAN
13.02.2020, 02:15
Ну что, ребята, XP-шников не осталось совсем?
остались конешн
а что именно(последнее актуальное) нужно тестировать?
(да и лучше бы их держать в первом посте)
а что именно(последнее актуальное) нужно тестировать?
Вот это. (https://zx-pk.ru/threads/21908-emustudio-zx.html?p=1044665&viewfull=1#post1044665)
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
копеещная сгоревшая юсб звуковуха
если найду проверю...
Десктоп 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
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot