DrawText и TextOut являются оболочками для ExtTextOut, поэтому ExtTextOut является низкоуровневым API. По моему опыту, ExtTextOut работает довольно быстро, поэтому я сомневаюсь, что вы столкнетесь с какими-либо проблемами с производительностью самого ExtTextOut. Однако создание / выбор шрифтов может быть источником проблем с производительностью, поэтому если вы переключаетесь между шрифтами туда и обратно, вы можете добиться значительного прироста производительности, кэшируя и повторно используя шрифты (HFONT), а не каждый раз CreateFont / SelectObject / DeleteObject. По сути, при первом вызове SelectObject после создания нового шрифта Windows выполнит процесс сопоставления шрифтов, чтобы найти наилучший физический шрифт для запрошенного вами логического шрифта. Это довольно сложный процесс, поэтому вы хотите минимизировать количество раз, которое происходит в ситуациях, когда важна производительность.
Я разработал богатый элемент управления для редактирования много лет назад, который по сути был мини-версией Microsoft Word. Я использовал ExtTextOut в качестве основной рабочей лошадки для всего вывода текста. Элемент управления будет поддерживать кэш шрифтов самых последних использованных шрифтов (размер кэша по умолчанию составляет 10 шрифтов). Он поддерживал макет WYSIWYG, поэтому фактически выполнял всю компоновку с использованием DC-принтера и шрифтов, а затем отображал версию, совместимую с экраном, с использованием DC-экрана и аналогичных шрифтов, поэтому потребовалось много дополнительной работы, которая, вероятно, не применима к твоя ситуация. Несмотря на это, производительность была отличной при работе на типичном оборудовании того времени (например, 266 МГц Pentium).