Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Возможно ли отследить этапы отрисовки окна? (http://forum.oszone.net/showthread.php?t=343629)

Avatar-Lion 12-01-2020 00:35 2904595

Возможно ли отследить этапы отрисовки окна?
 
Возник такой вопрос: есть ли возможность пошагово увидеть и разложить по полочкам все этапы отображения окна? Например, я кликаю на значок "Компьютер", а мне в окошке высвечивается лог типа:
- Запрос к файловой системе: 50 миллисекунд
- Запрос разрешений: 20 миллисекунд
- Запрос твиков из реестра: 15 миллисекунд
- Ожидание ответа от сетевого диска: 800 миллисекунд
- Отправка задачи на отрисовку окна видеокарте: 5 миллисекунд
- Ожидание картинки от видеокарты: 100 миллисекунд
- Показ готового окна

Хочется просто заиметь инструмент, который покажет в каких моментах возникает узкое место, потому как штатный Монитор ресурсов показывает нагрузку на узлы (CPU, HDD...) в процентах от различных exe'шников, но не проливает свет на то, какой из этапов съедает больше всего времени.

Iska 12-01-2020 07:47 2904601

Avatar-Lion, не встречал такого.

В качестве эксперимента можете поиграться с Process Monitor'ом.

P.S. Общий смысл примерно понятен, но вот выбор:
Цитата:

Цитата Avatar-Lion
Например, я кликаю на значок "Компьютер" »

явно неудачен: Проводник многие задачи отрабатывает асинхронно.

Grabber2006 12-01-2020 09:44 2904611

Для обычных приложений эти параметры недоступны, т.к. они просто получают от системы через WinAPI handle готового окна без какого-либо разделения на этапы.
Т.е. всем занимается непосредственно Windows. Если в неё не встроены соответствующие функции, то узнать временные затраты никак нельзя.


Время: 13:50.

Время: 13:50.
© OSzone.net 2001-