На днях я решил, что хочу немного научиться программированию DirectX / Dirext3D. Я скачал один из примеров, показывающих DirectX11, и он скомпилировался и работал нормально, однако мой GPU свистел во время работы программы. Если я закрою приложение, свист немедленно прекратится. Перезапустите приложение, свист снова вернулся и т. Д. Я подумал, что это может быть просто проблема с пылью, поэтому сегодня я пошел в магазин и купил баллончик с CO2 и вычистил его. Свист все еще сохраняется после чистки.
Как ни странно, свист кажется управляемым - я могу изменить высоту свистка, изменив размер окна приложения с помощью мыши. Чем больше я делаю рамку, тем свист становится слабее, чем меньше окно, тем выше высота свиста. У меня также нет этой проблемы, когда я программирую в OpenGL; на самом деле никакого свистка нет.
Есть две вещи, которые, я думаю, могут быть причиной этой проблемы. 1. Драйвер DirectX / Radeon ведет себя странно. 2. Это вентилятор в графическом процессоре, ускоряющийся для компенсации различного использования.
Вот распечатка с DxDiag, показывающая характеристики моего компьютера и другие полезности: http://pastebin.com/CZE0UZiZ (Новые обновленные параметры см. Ниже для обновления драйвера после обновления)
Мне просто было интересно, сможет ли кто-нибудь указать мне правильное направление относительно того, как я могу решить эту проблему - прежде чем я начну копаться в своих биографиях и искать в интернете исправления.
Всем спасибо.
РЕДАКТИРОВАТЬ:
Я обновил свои драйверы; свист все еще сохраняется. Следует также отметить, что свист практически отсутствует, когда я максимизирую окно.
Вот новая распечатка с DxDiag (обновлены мои драйверы)
Другое Править:
Я заметил, что в примере с Direct3D они не давали потоку рендеринга возможность спать, поэтому я добавил простой «Sleep (1)», и это устраняет свист. Тем не менее, я все еще хочу знать, почему это происходит. Как правило, перевод бесконечного потока в режим сна означает, что процессор получает долю секунды для отдыха, но может ли это также привести к свисту?
Эта проблема технически решена, однако она все еще остается постоянной, учитывая правильные обстоятельства. Мне не хочется оставлять этот вопрос открытым, но я думаю, что так и должно быть, пока я не найду правильное и правильное решение.