Использование GDI + для выполнения любых задач с полной прозрачностью всегда будет очень медленным. Это связано с тем, что прозрачность требует большого умножения и деления для смешивания цветов пикселей, а рисование непрозрачных цветов - это просто перезапись старых пикселей. Процессор намного интенсивнее.
Метод Джо Уайта - хорошая альтернатива. Максимизированная форма с задним цветом и низкой непрозрачностью будет работать просто отлично и будет намного быстрее. Имейте в виду, однако, что использование формы сопровождается несколькими вещами, о которых стоит беспокоиться:
- Форма будет блокировать нажатия на значки на рабочем столе
- Форма может быть свернута пользователем, убрав красный оттенок - даже если его нет на панели задач, Windows + + D сведет его к минимуму (хотя, конечно, это просто вопрос написания кода, чтобы снова отобразить форму )
- Форма может закончиться поверх других форм, придав им красный оттенок (вы можете установить формы в
быть ниже всех других форм, которые могли бы решить эту проблему)
Это не так медленно, но при использовании формы вместо рисования непосредственно на рабочем столе нужно беспокоиться о других вещах.
Это действительно зависит от , почему вы хотите подкрасить рабочий стол красным - в зависимости от того, чего вы пытаетесь добиться, могут быть и другие, даже более простые методы:
- Вы можете подкрасить обои рабочего стола красным - это не повлияет на значки, но не вызовет проблем с производительностью
- Если вас не волнует взаимодействие с рабочим столом, вы можете сделать снимок экрана, подкрасить его красным, а затем отобразить в развернутом виде.
- Ваш текущий метод будет в порядке, если вы не думаете, что вам нужно будет перерисовывать его очень часто
Кроме того, не забывайте, что у некоторых людей есть несколько настроек монитора. Вам нужно создать одну форму для каждого монитора, если вы хотите охватить их все.