Re[3]: Просьба к обладателям встроенной графиги и медленных
От: Блудов Павел Россия  
Дата: 30.09.05 01:22
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Сейчас, вроде как, самым медлыенным участом отрисовки является закраска пустых фоновых поврхностей которая проивзодится через GDI+.


А если и их TextOut'ом делать, типа так:

    void FillSolidRect(HDC hdc, LPCRECT lpRect, COLORREF clr)
    {
        ::SetBkColor(hdc, clr);
        ::ExtTextOut(hdc, 0, 0, ETO_OPAQUE, lpRect, NULL, 0, NULL);
    }
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[4]: Просьба к обладателям встроенной графиги и медленных
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.09.05 02:24
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>А если и их TextOut'ом делать, типа так:


БП>
БП>    void FillSolidRect(HDC hdc, LPCRECT lpRect, COLORREF clr)
БП>    {
БП>        ::SetBkColor(hdc, clr);
БП>        ::ExtTextOut(hdc, 0, 0, ETO_OPAQUE, lpRect, NULL, 0, NULL);
БП>    }
БП>


То будет быстро. Но:
1. Будут проблемы в 256 и 16 цветах. Хотя на сегодня этот аргумент конечно можно засунуть куда подальше.
2. Это ведь надо делать. А скорости вроде и так достаточно.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Просьба к обладателям встроенной графиги и медленных
От: Блудов Павел Россия  
Дата: 30.09.05 08:39
Оценка: 44 (1)
Здравствуйте, VladD2, Вы писали:

VD>1. Будут проблемы в 256 и 16 цветах. Хотя на сегодня этот аргумент конечно можно засунуть куда подальше.

Откуда? Ведь сам текст выводится через тот же TextOut, с тем же BackColor. Наоборот, должно убавиться проблем, если пустые области закрашивать через GDI

VD>2. Это ведь надо делать. А скорости вроде и так достаточно.

Так вроде готово. Закинул с нимимумом комментариев.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[6]: Просьба к обладателям встроенной графиги и медленных
От: VladD2 Российская Империя www.nemerle.org
Дата: 30.09.05 15:09
Оценка: 9 (1)
Здравствуйте, Блудов Павел, Вы писали:

БП>Откуда? Ведь сам текст выводится через тот же TextOut, с тем же BackColor. Наоборот, должно убавиться проблем, если пустые области закрашивать через GDI


Понимашь ли. Я не не делаю предположений по этому поводу. Я точно знаю, так как применял этот способ во времена когда 256 цветов были распространенным явлением.

При выводе текста с помощью TextOutEx фон самого текста выводится дизирингом, а свободные части закрашиваются ближайшим чистым цветом.

VD>>2. Это ведь надо делать. А скорости вроде и так достаточно.

БП>Так вроде готово. Закинул с нимимумом комментариев.

В смысле? Ты уже исправил код? Поглядим...

Хотя надо было бы сделать для начала варинт на #if-ах, чтобы сравнить производительность.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Просьба к обладателям встроенной графиги и медленных
От: Блудов Павел Россия  
Дата: 03.10.05 03:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Понимашь ли. Я не не делаю предположений по этому поводу. Я точно знаю, так как применял этот способ во времена когда 256 цветов были распространенным явлением.

Только что проверил на всех компах в конторе включая Virtual PC и терминалку. Всюду выводится совершенно одинаково.
Может, в твоём случает имеет место чисто драйверная проблема?

VD>При выводе текста с помощью TextOutEx фон самого текста выводится дизирингом, а свободные части закрашиваются ближайшим чистым цветом.

А как выглядят пробелы в тексте? Они же тоже выводятся через ExtTextOut.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[8]: Просьба к обладателям встроенной графиги и медленных
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.10.05 15:26
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Только что проверил на всех компах в конторе включая Virtual PC и терминалку. Всюду выводится совершенно одинаково.


А как проверял? Там весь смысл чтобы цвет фона был каким-нибудь не чистым. Например сделать его салатовым, но так чтобы этот салатовый явно отличался от любого из 16 стандартных цветов.

БП>Может, в твоём случает имеет место чисто драйверная проблема?


Врад ли. Единственное что... это было на на ХРюше. Но в VMWare где крутится ХРюша в 256 цветах в одном из моих 16-битных приложений я такой эффект постоянно наблюдаю.

БП>А как выглядят пробелы в тексте? Они же тоже выводятся через ExtTextOut.


Я же говорю, фон вокруг текста закрашивается немного отличающимся цветом.

Кстати, 256 цветов я могу добиться только запуском 16-битного приложения. Без него у меня минимальных режим 16-бит, т.е. хай-колор.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.