За последние несколько недель некоторые из наших читателей квалифицировали известную ошибку в профилировщике Directx 9. Существует ряд факторов, которые, скорее всего, вызовут эту проблему. Давай обсудим это сейчас.
Одобрено: Fortect
- На чтение 46 минут.
- точное профилирование для Direct3D затруднено
- Как вся последовательность рендеринга Direct3D создает точную проблему
- Профилирование изменений состояния Direct3D
- Резюме
- Приложение
(API) вызовы. Если вы сделали эту ситуацию, но получили результаты, которые отличаются от заданной последовательности для отображения последовательности, или если вы сомневаетесь, что эксперимент не будет соответствовать фактическим экспериментальным ответам, следующая информация может помочь вам понять.
Информация, представленная здесь, полностью основана на предположениях, которые вы знаете и имеете опыт в следующих областях:
- Программирование на C / C ++
- Программирование Direct3D API
- API измерения времени
- Видеокарта, затем программный драйвер.
- Возможные необъяснимые результаты за пределами опыта профилирования.
Точное профилирование Direct3D сложно
Профилировщик сообщает время, затраченное на каждый мобильный телефон API. В конечном итоге это должно повысить производительность за счет обнаружения с удалением горячих точек. Есть несколько возможных типов из-за профилирования и методов профилирования.
- Селективный профилировщик большую часть времени бездействует и работает через регулярные промежутки времени, чтобы проверить (или поставить положительный знак) то, что он делает. Он показывает процент времени, потраченного примерно на каждый звонок. В общем, выборка из профилировщика, безусловно, очень неприятна для приложения и оказывает минимальное влияние на все приложение.
- Профилировщик инструмента выполняет фактическое событие, необходимое для завершения вызова. Это требует компиляции разделителей старт-стоп в приложении. Toolkit – это буквально профилировщик, который более агрессивен для приложения, чем профилировщик музыки.
- Вы также можете использовать технику профилирования художников со значительным высокопроизводительным minutter. Этот результат очень похож на результат инструментального профилировщика.
Тип снаружи вместе с профилировщиком или используемым методом профилирования обычно представляет собой просто функцию задачи, которая генерирует определенную аналитику.
Профилирование дает вам ответы, которые помогут вашему сайту потратить бюджет на работу ваших клиентов. Например, предположим, вы знаете, что в среднем для выполнения вызова API требуется невероятная тысяча циклов настенных часов. Вам может потребоваться некоторый уровень вывода способностей, например:
- На процессоре с частотой 2 ГГц (который тратит 200% времени на рендеринг) есть остановка, которая может вызывать этот API 1 миллион раз в секунду.
- Чтобы получить 30 кадров в секунду, не следует вызывать этот API несколько раз, чтобы получить 33 000 кадров в секунду.
- Вы можете сохранить в общей сложности 3,3000 объектов на каждый (при условии, что кадр 10, посвященный этому типу API, вызывает последовательность отображения, когда каждый объект).
Другими словами, если у вас будет достаточно минут для вызова API, вы вполне можете задать вопрос о бюджете на такие ограничения, как количество примитивов, которые могут легко отображаться в интерактивном режиме. Но необработанные данные, полученные от потрясающего профилировщика инструментов, не могут точно ответить на вопросы об управлении затратами. Это связано с тем, что одно конкретное графическое направление имеет сложные проблемы проектирования, такие как по сравнению с количеством компонентов, которые необходимо ускорить, количеством процессоров, которые доминируют в рабочем потоке между компонентами, а также в дополнение к методам оптимизации, реализованным в пилотной версии во время выполнения и следовательно, может сделать конвейер более эффективным в обычное время.
Каждый API вызывает несколько компонентов
Каждый вызов должен исходить от многослойных компонентов из-за приложения видеокарты. Например, гонки. Давайте посмотрим на следующий вариант рендеринга, который включает два вызова для рисования одной треугольной формы:
определить текстуру (...);DrawPrimitive (D3DPT_TRIANGLELIST, 0, 1);
На следующей концептуальной диаграмме показаны некоторые человеческие компоненты, о которых всегда должен идти вызов.
Приложение вызывает What Direct3d, управляет какой-то сценой с человеком, обрабатывает взаимодействие с пользователем и изучает способы выполнения рендеринга. Вся эта работа указана в последовательности рендеринга, которая, как утверждают эксперты, отправляется во время выполнения с использованием текстовых сообщений или вызовов Direct3D API. Последовательность рендеринга является только аппаратной частной (т.е. вызовы API телефона не зависят от оборудования, несмотря на то, что известны функции, поддерживаемые основной картой фильмов).
Среда выполнения преобразует эти вызовы в независимый от устройства формат. Среда выполнения обрабатывает весь этот метод специальной связи между приложением и этим автоматом, так что приложение будет работать на множестве совместимых домашних усовершенствований (в зависимости от того, что идет с requireXia). Когда измеряется один вызов функции, наш профилировщик инструментов отслеживает, сколько времени он потратил на работу и сколько времени вернула функция. Ограничение персонального профилировщика инструментов заключается в том, что он не учитывает время, которое требуется каждой клюшке для отправки выходных данных на саму видеокарту, а также время, необходимое для просмотра графической карты. Другими словами, стандартный инструментальный профилировщик, помогающий человеку назначать всю коррелированную работу для каждого вызова функции.
Программный драйвер позволяет вам использовать свои специфические аппаратные знания банковской карты Video Tarot для преобразования независимой от устройства последовательности команд в совершенно новую последовательность команд видеокарты. Драйверы определенно также оптимизируют порядок, в котором команды обычно отправляются на видеокарту, поэтому рендеринг на видеокарту действительно эффективен. Эти процедуры могут создавать проблемы с профилированием, потому что объем усвоенной работы не соответствует внешнему виду и ощущениям (вам может потребоваться найти какие-либо корректировки, чтобы приспособиться к этому). Драйвер обычно берет на себя больше, чем просто контроль выполнения, прежде чем его графическая дебетовая карта обработает какие-либо важные команды.
Приглашение к графике выполняет большую часть остальной части отражения, объединяя данные из базовой вершины и буферы списка, текстуры, информацию о рендеринге и элементы управления графикой.
Каждый вызов API Direct3D должен выполняться с использованием обрабатываемого компонента (среды выполнения, драйвера и большей части за графической картой) для визуализации чего-либо.
Компоненты управляются несколькими процессорами
Одобрено: Fortect
Fortect — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования Fortect быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.
а>
Взаимосвязь между этими компонентами еще более сложна, поскольку приложение, среда выполнения и драйвер почти всегда по-прежнему контролируются одним процессором, а видеокарта управляется aa. 60-минутный процессор. На следующей диаграмме показаны два типа вне процессоров: центральный процессор (ЦП) и блок обработки графики (ГП).
Гаджеты для ПК включают в себя как минимум один процессор и один графический процессор, но могут также включать несколько или оба. Процессоры обычно идентифицируются на материнской плате, а графические процессоры – это одна или другая материнская плата или, возможно, видеокарта. Скорость процессора определяется царапиной настенных часов на материнской плате, а ускорение графического процессора определяется отдельными реальными часами.
Повысьте производительность вашего компьютера с помощью этой простой загрузки. г.г.