![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
рендеринг кучи текста [D5, D7, WinXP]
tButton © (2006-08-24 10:08:00)есть много-много текста с форматированием а-ля ХТМЛ
разобрать его для меня не проблема. проблема быстро его отрендерить
сейчас набросал вариант с использованием банального TextOut
и в принципе он подходит когда строк <100
(каждая рендерится сама по себе)
можно, конечно реализовать иначе (через попиксельный вывод. есть чем вывести со скоростью >2Mpx/s), но
помнится мне что я и прежде (года два-три) назад сталкивался с подобной проблемой
и мне здесь наглядно объяснили, что вся беда в том что каждый раз DC блокируется/разблокируется, на что и тратится уйма времени.
в итоге показали мне решение проблемы через АПИшные хитрости
к сожалению, за давностью лет решение протерялось
хотелось бы найти его снова =)
PS
как-то же memo выводит уйму текста без тормозов?
Ketmar (2006-08-24 22:39:00) [21]> [14] tButton © (24.08.06 22:36)
почему не похмеляешься? %-)
Fay (2006-08-24 22:37:00) [22]tButton © (24.08.06 22:36) [14]
Вопросы есть. Один вопрос.
> битмап увеличивается на высоту строки
НАЖУЯ?
tButton (2006-08-24 22:36:00) [23]хм. цикл пробегает по логу и выводит каждую строку на битмап
на каждом шаге цикла битмап увеличивается на высоту строки.
вопросы?
Ketmar (2006-08-24 20:41:00) [24]> [12] Fay © (24.08.06 20:38)
мда. не учёл. а я-то думал, почему у меня не получалось...
Fay (2006-08-24 20:38:00) [25]2 Ketmar © (24.08.06 20:30) [11]
> говорят, что если делать шаг 0, можно в одну строку всю БСЭ вывести!
Только при нулевой или очень-очень маленькой толщинестрок
Ketmar (2006-08-24 20:30:00) [26]> [10] Fay © (24.08.06 20:02)
говорят, что если делать шаг 0, можно в одну строку всю БСЭ вывести! %-)
Fay (2006-08-24 20:02:00) [27]Ketmar © (24.08.06 19:56) [9]
Я их вывел с шагом 1 по высоте 8)
Ketmar (2006-08-24 19:56:00) [28]> [6] TButton © (24.08.06 17:58)
тысяча строк... это кеглем 1, что ли? так тогда просто линии можно рисовать, один фиг никто не отличит.
Fay (2006-08-24 18:30:00) [29]Вывел DrawText-ом. Всё ОК.
Fay (2006-08-24 18:18:00) [30]2 TButton © (24.08.06 17:58) [6]
Так это наш старй добрый TButton?! Не признал. в "Интересное о себе" раньше было другое...
> выводить ~1000 строк
А чё не 10000000000 ?
TButton (2006-08-24 17:58:00) [31]
> На самом деле, было бы интересно посмотреть на код, который
> тормозит...
ну напиши код который TextOut'ом будет выводить ~1000 строк на битмап
> А вот "через попиксельный вывод"... Даже завидно... Вот
> бы и меня так вставило...
ну вот люблю я пиксели =)
и они отвечают мне взаимностью =)
DiamondShark (2006-08-24 16:36:00) [32]
> и в принципе он подходит когда строк <100
А на экран больше и не помещается.
Fay (2006-08-24 13:14:00) [33]На самом деле, было бы интересно посмотреть на код, который тормозит...
А вот "через попиксельный вывод"... Даже завидно... Вот бы и меня так вставило...
Ketmar (2006-08-24 13:00:00) [34]ктстати, мой рендерер для клиента чата вообще выводил посимвольно. и ничего, не тормозил. %-)
Fay (2006-08-24 12:50:00) [35]2 афтар
Поменяй ник
Ketmar (2006-08-24 10:26:00) [36]DrawTextEx()?