1

Я пишу кроссплатформенное приложение OpenGL, и у меня наблюдаются очень разные результаты производительности между OS X и Windows (как 7, так и 8).

В отчетах Windows GPU-Z графический процессор Sandy Bridge HD 3000 продолжает работать на частоте 350 МГц, и это объясняет мне, почему мой код в OS X работает примерно в 5 раз быстрее, чем в Windows.

Чтобы убедиться в этом, я подумал, что было бы неплохо проверить, действительно ли повышается тактовая частота в OS X, но для OS X нет GPU-Z.

Есть идеи?

Еще один способ уложить эту проблему в постель - выяснить, как заставить IGP правильно подкатиться под Windows. Я только что протестировал SketchFab в Chrome, где у модели истребителя TIE она составляет полные 1200 МГц (и я был удивлен, насколько хорошо она масштабируется под требования GPU: в менее сложных моделях частота синхронизации была установлена на 650 или 750 МГц. Довольно аккуратно.)

Хорошо. Так что в Chrome реализовано что-то правильно, а я нет. Возможно, пришло время перестать использовать SDL. Теперь я должен выяснить, как заставить его работать на частоте 1200 МГц при запуске моей программы.

1 ответ1

1

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

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

Обновление: я решил, с какой проблемой я имел дело, но я не нашел удовлетворительного ответа на мой первоначальный вопрос о том, как проверить в реальном времени тактовую частоту IGP Intel Sandy Bridge на OSX. Кто-нибудь может мне с этим помочь? (Может, инженеры Apple?)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .