Графическое профилирование

Метод str.join ожидает итерацию в качестве аргумента, и тем не менее accumulate передает ему два аргумента для каждой итерации, отсюда и ошибка. Вместо этого вы можете использовать метод str.format:

print(list(accumulate(s.split(), '{} {}'.format)))
5
задан Fire Lancer 12 May 2009 в 11:33
поделиться

5 ответов

Для отладки / профилирования графики попробуйте Nvidia PerfHUD

NVIDIA PerfHUD - это мощный инструмент для анализа производительности приложений Direct3D в реальном времени.

Существует также решение ATI, называется «GPU PerfStudio»

GPU PerfStudio - это инструмент анализа производительности в реальном времени, который был разработан, чтобы помочь настроить графическую производительность ваших приложений DirectX 9, DirectX 10 и OpenGL. GPU PerfStudio отображает в реальном времени данные API, драйверов и оборудования, которые можно визуализировать с помощью чрезвычайно гибких механизмов построения графиков и гистограмм. Профилируемое приложение может выполняться локально или удаленно по сети. GPU PerfStudio позволяет разработчику переопределять ключевые состояния рендеринга в реальном времени для быстрого обнаружения узких мест. Окно автоанализа можно использовать для выявления проблем с производительностью на различных этапах графического конвейера. Для использования GPU PerfStudio не требуется никаких специальных драйверов или изменений кода.

Вы можете найти дополнительную информацию и ссылки для скачивания здесь:

7
ответ дан 18 December 2019 в 14:51
поделиться

Вы разрабатываете для Windows? В таком случае избегайте использования Video for Windows, поскольку это ограничит вас описанным вами образом. Вместо этого используйте DirectX.

0
ответ дан 18 December 2019 в 14:51
поделиться

Не нужно гадать. Просто приостановите его несколько раз в среде IDE, и он точно покажет вам, чего он ждет.

1
ответ дан 18 December 2019 в 14:51
поделиться

Also, check out this article on FPS:

FPS vs Frame Time

Basically it talks about the fact that a drop from 200fps to 190fps is negligible, whereas a drop from 30fps to 20fps is a MUCH bigger deal. For better performance measuring, you should be calculating frame time rather than FPS.

You never told us what your fps is or what the program is doing at all, so your "vast drop" might not be a big deal at all.

For DirectX, there is PIX for profiling the CPU and GPU operations. It can give very detailed info, and might be worth looking into.

Hope that helps!

4
ответ дан 18 December 2019 в 14:51
поделиться

Можно попробовать использовать dxprof (поиск в гугле). Это легкое приложение, которое рисует полосы в реальном времени, каждая строка соответствует одному событию DirectX (например, вызову отрисовки или копированию ресурса). Вы можете заморозить полосы и проверить стек вызовов, чтобы узнать, откуда исходит вызов отрисовки.

1
ответ дан 18 December 2019 в 14:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: