Re[30]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 11.12.22 10:17
Оценка: 2 (1) -1
Здравствуйте, Sinclair, Вы писали:

V>>Отличается принципиально — вёрстка документа выполняется не ср-вами GDI в момент вывода текста (где GDI TextOut вынужден каждый раз расчитывать лейаут выводимого текста перед прорисовкой, отчего тормоза), а эта вёрстка выполняется предварительно в некоей "виртуальной" модели док-та и, с т.ч. задач отображения, статична.

S>Вы сейчас про параметр lpDx? Не вполне улавливаю ход вашей мысли.

TextOut должен унутре вызвать GetTextAlign, GetObject, GetCharacterPlacement, затем внутренний аналог ExtTextOut.
1. Жуткие тормоза.
2. Управлять позиционированием символов никак.
3. Сколько в строке содержится разных начертаний шрифта или разных шрифтов — столько раз при каждой их смене вдоль строки надо вызвать эту ф-ию.

В отличие от, ExtTextOut сразу переходит к прорисовке с поданными координатами символов (координаты можно подавать по x, либо по xy, в зависимости от флагов).
За один раз можно вывести абзац, состоящий из разных шрифтов.
И не надо вычислять лейаут каждый божий раз.

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


V>>Именно поэтому даже старенькие Ворды довольно шустро листали док-т (т.е. шустро обновляли его изображение на экране), что задача вёрстки была отделена от задачи отображения.

S>Ну, если честно, то нет, не шустро. Когда я свой диплом бакалавра верстал в Word 2.0, то перелистывание страницы (PgDn) в нём занимало около 40 секунд, на 486 машинке.

Какая забавная чушь.
Аж рассмеялся от неожиданности.

На моей 286-й 20 MHz, 8 метров оперативы в Windows 2.11 в 1994-м году страница перелистывалась менее секунды.
На соседней 386-й 27 MHz страница листалась примерно с идентичной скоростью.

И откуда ты в своём бакалавриате взял Word 2.0, если на тот момент уже можно было достать только 6.0 или 7.0?
А главное, даже если достал откуда-то 2.0 — то нафига? ))

И да, скорость листания не зависела от размера док-та, диплом тянул легко.
При том что у системотехников дипломы обычно чуть увесистей, чем на других направлениях, т.к. включают достаточно много исходников с пояснениями, блок-схем алгоритмов и прочее.

Разве что на той 486-й стояла древняя картейка VGA (даже не XGA) без 2D ускорителя?
У вас там какой-нить хитрый техник спёр картейку с ускорителем домой, подменив на шлак конца 80-х? ))

На моей 286-й стоял ускоритель, то ли ATI Mach 32, то какой еще, не помню точно картейку именно на 286-м, но это не принципиально, бо почти все они тогда были совместимы с 8514, который являлся де-факто стандартом для ускорителей 2D графики в первой половине 90-х.

Когда у тебя был бакалавриат, тогда уже ускорители просто летали, причём уже со встроенным 3D, уже пошли S3, 3dfx, ATI Rage.

Поэтому — не верю! (С)
Отредактировано 11.12.2022 10:19 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.