Получение информации о частоте кадров и кадрах из графического процессора - PullRequest
0 голосов
/ 06 апреля 2020

Я математик, а не программист, у меня есть представление об основах программирования, и я достаточно опытный опытный пользователь как в linux, так и windows. Я знаю немного C и немного python, но ничего особенного.

Я хотел бы сделать наложение, чтобы при запуске игры он мог получать информацию о графических процессорах amd и nvidia, таких как время кадра и FPS, потому что я вполне уверен, что текущие тесты системы, используемые для сравнения двух графических процессоров, ошибочны потому что небольшие случаи и сцены, которые на мгновение увеличивают FPS (но совершенно не имеют значения с точки зрения пользовательского опыта), приводят к большему среднему числу FPS и вводят в заблуждение рынок непреднамеренно или намеренно (например, я не могу вспомнить название игры, вероятно, COD на карте была сильно тесселяционная сущность, которая даже не была видна игроку, что приводило к тому, что графические процессоры AMD, по-видимому, не работали при роуминге, хотя эта область приводила к снижению среднего числа FPS)

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

Я хотел бы учиться как можно меньше (под этим я подразумеваю, что хотел бы узнать то, что мне абсолютно необходимо выучить, чтобы выполнить работу, я не собираюсь становиться кодером).

Заранее благодарю.

1 Ответ

1 голос
/ 07 апреля 2020

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

Чтобы получить информацию о времени и нарисовать свое собственное наложение, вы можете использовать (и модифицировать) такой инструмент, как OCAT . Он поддерживает приложения Direct3D 11, Direct3D 12 и Vulkan.

Чтобы просто получить время (и другую интересную информацию) в виде CSV, вы можете использовать инструмент командной строки, например PresentMon . Должен работать в D3D, и я тоже использовал его с приложениями Vulkan, и он, кажется, принимает их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...