Re[2]: Кроссплатформа - состояние на конец 2022
От: paradok  
Дата: 08.12.22 07:47
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Т.е. HTML там испоьзуется как layout manager и одновременно рисовальщик статиков : текста, картинок и пр.

CS>Как резюме: реалистично говорить о кросплатформе в кторой 70-90% кода шарится между платформами.
CS>!00% серебрянной пули нет по условиям задачи

А в это время Unity спокойно шарашит на все мыслимые платформы даже в html.javascript...
Re[17]: FarColorer
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.22 09:12
Оценка:
Здравствуйте, akasoft, Вы писали:

CC>>Ээээ? чо?

A>Многие считают "зависло", если приложение не отвечает пару минут. Но дать приложению ядер, частоты или памяти многие не считают. А это напрямую влияет на "зависло".

Так и представляю — подзавис фар, встал и пошел покупать другой ноутбук, раза в два дороже.
Re[21]: Кроссплатформа - состояние на конец 2022
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.22 09:17
Оценка:
Здравствуйте, Marty, Вы писали:

M>Скачки есть, но фатального ничего не вижу


Так сравнивать надо страницу со страницей.
Re[23]: Кроссплатформа - состояние на конец 2022
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 09.12.22 09:24
Оценка:
Здравствуйте, Marty, Вы писали:

M>Тебе никто не обещал, что GDI выдаст тебе в любом масштабе абсолютно идентичную картинку.

M>Но на GDI можно сделать рендерер PDF, и 99 процентов пользователей ничего не заметит по сравнению с адобовским.

На самом деле — наоборот. Рендерер сделать можно — их полно, только вот страница будет выглядеть совсем иначе. У адоба читать страницу очень легко, глаза не устают. А вот в рендерере где страница сделана через textout, читать неприятно, устаёшь уже через пару минут.
Акробат умеет менять масштаб на 1%, а вот у тебя точно видно, что этого нет и не будет в обозримом будущем.
Re[18]: FarColorer
От: akasoft Россия  
Дата: 09.12.22 10:38
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Так и представляю — подзавис фар, встал и пошел покупать другой ноутбук, раза в два дороже.

И такое бывает.
Приходят, жалуются, система лагает, сёрфинг тупит, 3d max не едет, полечи. Смотришь, а там 2 ядра 4Г памяти.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>> SQL DE 2016
Re[24]: Кроссплатформа - состояние на конец 2022
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.12.22 16:43
Оценка: -1
Здравствуйте, Pauel, Вы писали:
P>Акробат умеет менять масштаб на 1%, а вот у тебя точно видно, что этого нет и не будет в обозримом будущем.
Без шансов. Коллега нахамил, а когда его ткнули носом в неудачный результат, убежал обратно в политику.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[22]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 09.12.22 18:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>И очень зря. Одно дело, когда вы выводите одну отдельную строку (скажем, в заголовке окна). Тогда то, что она удлиняется неравномерно при росте зума — незначительное неудобство.

S>Иное дело, когда вы выводите на экран целую страницу, которая свёрстана определённым образом.

Редакторы верстают страницы в памяти без всякого GetTextExtentPoint32 и им подобных тормозных вызовов, ес-но.
Один раз кешируются размеры глифов символов шрифта данного размера под некий высокий DPI (стандартом в вёрстке журналов на тот момент было, вроде, 300 DPI), причём, этот размер фиксирован для каждого символа конкретного абзаца, поэтому, вёрстка в памяти происходит точно. Текст в памяти был представлен 16-тибитными индексами соотв.глифов из кеша (ага, в старых Вордах более 64к вариантов глифов в одном док-те не получалось).

А вот вёрстка на экране может быть уже не столь точной, ес-но.
Только это не заметно, т.к. при выравнивании по ширине играют шириной пробелов, поэтому правый край будет выровнен.
А при отсутствии выравнивания (допустим, нет выравнивания справа) — оно и вовсе незаметно, т.к. не с чем сравнить, если все строки имеют разную ширину.

При печати же обычно оперируют другим DPI (300, 600, 1200) и там точность получше экранных 96 DPI.

В общем, вы обсуждаете ту проблему, которой в реальности для редакторов текста никогда не существовало.

Взять даже текст в таблице, при некотором масштабе символы на экране могут соприкасаться с линиями-границами ячеек, но работавшим на старых мониторах обычно было понятно, что вывод на экран оперирует невысоким разрешением, и что округление происходит грубо.
В те годы за компами вообще дураков было поменьше. ))

В конце 90-х пошли уже "бытовые" (т.е. дешевые) лазерные принтеры с разрешением 600 DPI и струйные 1200 DPI, тут уже последним дуракам стало ясно, что на печати текст выглядит вовсе не как на экране, а в разы чётче. А на экране для проверки некоей области док-та его просто просматривали под нужным увеличением.
Отредактировано 09.12.2022 18:12 vdimas . Предыдущая версия .
Re[24]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 09.12.22 18:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

M>>Но на GDI можно сделать рендерер PDF, и 99 процентов пользователей ничего не заметит по сравнению с адобовским.

S>Прекрасно заметят, когда текст, который был выровнен, начнёт плавать при кручении колёсика зума.

Каким образом?
Это надо чтобы текст был без пробелов?
Тогда это, скорее всего, одинаковый текст в строках, т.е. строки будут идентичными при любом зуме.
Re[24]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 09.12.22 18:06
Оценка: -1
Здравствуйте, Pauel, Вы писали:

P>У адоба читать страницу очень легко, глаза не устают.


Наоборот, на мониторах с плохим разрешеним читать PDF в Акробате было невозможно из-за мылкости.
Зато в Ворде — читабельно.
Re[25]: Кроссплатформа - состояние на конец 2022
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.12.22 20:14
Оценка:
Здравствуйте, vdimas, Вы писали:
V>Каким образом?
Очень простым.
V>Это надо чтобы текст был без пробелов?
Не обязательно. Достаточно просто пользоваться TextOut.
V>Тогда это, скорее всего, одинаковый текст в строках, т.е. строки будут идентичными при любом зуме.
Не обязательно.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[23]: Кроссплатформа - состояние на конец 2022
От: Sinclair Россия https://github.com/evilguest/
Дата: 09.12.22 20:19
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>Здравствуйте, Sinclair, Вы писали:


S>>И очень зря. Одно дело, когда вы выводите одну отдельную строку (скажем, в заголовке окна). Тогда то, что она удлиняется неравномерно при росте зума — незначительное неудобство.

S>>Иное дело, когда вы выводите на экран целую страницу, которая свёрстана определённым образом.

V>Редакторы верстают страницы в памяти без всякого GetTextExtentPoint32 и им подобных тормозных вызовов, ес-но.

V>Один раз кешируются размеры глифов символов шрифта данного размера под некий высокий DPI (стандартом в вёрстке журналов на тот момент было, вроде, 300 DPI), причём, этот размер фиксирован для каждого символа конкретного абзаца, поэтому, вёрстка в памяти происходит точно. Текст в памяти был представлен 16-тибитными индексами соотв.глифов из кеша (ага, в старых Вордах более 64к вариантов глифов в одном док-те не получалось).
Это бесценная информация об устройстве Word, особенно, если она правдива.
То, что в режиме редактирования приходится идти на компромиссы — общеизвестно.
Но при отображении PDF такие вольности себе позволять нельзя. Попробуйте открыть в акробате любой документ и покрутите зумом — вы убедитесь, что интервалы между словами вовсе не плавают. Как это было бы, если бы акробат делал так, как вы предлагаете — компенсировал рывки ширины глифов изменением размера пробелов.

Вы лучше ответьте на вопросы про индексы — я жажду знаний про уникальность time-series, и про отличия n-tree от B-tree.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[25]: Кроссплатформа - состояние на конец 2022
От: Pauel Беларусь http://blogs.rsdn.org/ikemefula
Дата: 10.12.22 06:09
Оценка:
Здравствуйте, vdimas, Вы писали:

P>>У адоба читать страницу очень легко, глаза не устают.


V>Наоборот, на мониторах с плохим разрешеним читать PDF в Акробате было невозможно из-за мылкости.

V>Зато в Ворде — читабельно.

Типичный монитор он с хорошим разрешением. Напомню — сегодня почти 2023й год.
Где найти тот, что с плохим- не представляю.
Re[24]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 15:08
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Но при отображении PDF такие вольности себе позволять нельзя. Попробуйте открыть в акробате любой документ и покрутите зумом — вы убедитесь, что интервалы между словами вовсе не плавают.


Ес-но, поэтому текст в Акробате такой мылкий на мониторах с невысоким разрешением, поэтому такой трудночитабельный.
Но речь шла о редакторах, и там техника относительно проста.
Одно время было достаточно инфы о представлении данных в редакторах текста, об индексировании глифов и наличии в АПИ операционок ф-ий по выводу цепочек глифов (в X11 и в Windows GDI такие АПИ присутствуют, в новом АПИ WinRT, которая начиная с Win8, — тоже).

И ничего с тех пор не изменилось — примерно так же обстоят дела в библиотеке рендеринга FB2/FB3, разработанной русскими программистами — никакой мылкости.
Т.е. в приоритете чёткость изображений букв, а не попиксельная точность вёрстки.


S>Как это было бы, если бы акробат делал так, как вы предлагаете — компенсировал рывки ширины глифов изменением размера пробелов.


Эта особенность была не только Акробате, но и в другой популярной на тот момент проге по верстке печатного материала — в Word Press.
И все прекрасно понимали, почему так — потому что это инструмент для вёрстки, а не для работы над текстом.
Текстовые блоки помещались в Word Press уже в готовом виде.

В то время как MS Word — это text processor.
Соотв, приоритеты расставлены чуть иначе — чёткость изображений букв на первом месте.

Я вообще ХЗ о чём тут спор, это же азы любой инженерии — анализ сценариев, постановка задачи.

Плюс, приоритет задач по верстке печатного материала уже давно достаточно низкий, т.к. сейчас всё больше инфы живёт онлайн, и браузеры ведут себя примерно как MS Word. ))


S>Вы лучше ответьте на вопросы про индексы — я жажду знаний про уникальность time-series, и про отличия n-tree от B-tree.


Если бы ты не кривлялся там, а был настроен на предметный разговор, я бы читал твои ответы.
Но как только опять начинаешь маяться хернёй — просто облом тратить время, бо а смысл?
Я там допустил только одну ошибку — в оценке размера реального дерева, на основе бинарного, которое со сжатией информации.
Оно там оценочного размера N/K, где K порой достаточно большое, а не log N.
Но это несущественная неточность, т.к. мы рассуждали о сжатии информации и оно, существенное сжатие, всё-равно присутствует.
Re[26]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 15:49
Оценка:
Здравствуйте, Pauel, Вы писали:

P>Типичный монитор он с хорошим разрешением. Напомню — сегодня почти 2023й год.


Сам себе противоречишь — с хорошим монитором и у MS Word позиционирование точнее.


P>Где найти тот, что с плохим- не представляю.


Трудно тебе живётся в этом мире, ничего не знаешь.
Держи.

У 22" монитора FHD будет стандартные для Windows ~96 DPI.
У 24" — 91.
Re[26]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 15:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

V>>Это надо чтобы текст был без пробелов?

S>Не обязательно. Достаточно просто пользоваться TextOut.

Это обязательное условие? ))
Чем не устроил ExtTextOut?
Отредактировано 10.12.2022 15:51 vdimas . Предыдущая версия .
Re[25]: Кроссплатформа - состояние на конец 2022
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.12.22 16:04
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Эта особенность была не только Акробате, но и в другой популярной на тот момент проге по верстке печатного материала — в Word Press.

V>И все прекрасно понимали, почему так — потому что это инструмент для вёрстки, а не для работы над текстом.
Ну, то есть коненсус. Ок.

V>Если бы ты не кривлялся там, а был настроен на предметный разговор, я бы читал твои ответы.

V>Но как только опять начинаешь маяться хернёй — просто облом тратить время, бо а смысл?
V>Я там допустил только одну ошибку — в оценке размера реального дерева, на основе бинарного, которое со сжатией информации.
Размер реального дерева, хоть бинарного, хоть B-дерева, это O(N) от исходных данных.
V>Оно там оценочного размера N/K, где K порой достаточно большое, а не log N.
Ну, то есть логарифма нет.
V>Но это несущественная неточность, т.к. мы рассуждали о сжатии информации и оно, существенное сжатие, всё-равно присутствует.
Непонятно, о каком сжатии идёт речь.
На всякий случай напомню, что в обычном дереве ровно столько ссылок на сами данные, сколько записей в исходных данных.
Ваша идея про то, что можно одной ссылкой из дерева сослаться сразу на X записей исходных данных, в целом верна, хоть и лажает в деталях.
Например, кластерные индексы в MS SQL именно так и устроены — только они не зависят от наличия непрерывных диапазонов в значениях первичного ключа в исходных данных. Достаточно простой упорядоченности.
Просто "листьями" кластерного индекса являются сами страницы данных. Т.е. они тоже являются частью дерева, и никакого "сжатия" не происходит — в частности, алгоритмы split/merge при вставке и удалении записей применяются не только к branch-нодам, но и к страницам данных. И, тоже в частности, если таблица с кластерным индексом целиком влезает в одну страницу, то никаких дополнительных страниц на индекс не выделяется — сама эта страница и является корнем индекса. Если считать по вашей методике, это означает бесконечный "коэффициент сжатия" — нулевой размер "индекса" при ненулевом размере данных.
А если считать по общепринятой, то по-прежнему имеем O(N).
Страницы предыдущего уровня в ссылках на страницы данных никаких "длин диапазонов" не хранят — достаточно просто хранить PageRef на страницу данных и минимальное значение ключа на ней. Это позволяет увеличить branch factor по сравнению с вашей идеей.

Для time series, которые вам кажется удобно хранить просто в виде "отсортированного списка" напомню, что поиск по B-дереву всё ещё эффективнее бинарного поиска по отсортированному массиву, даже если его удалось поднять в память одним непрерывным блоком — из-за локальности кэша. Так что никаких отдельных "time-series" индексов не существует за ненадобностью.

Про мелкие ошибки в виде забытых значений ключей в branch-страницах B-дерева я уже и вовсе молчу — это можно списать на опечатки при наборе.

Самое главное-то в том, что PGM индекс по-прежнему уделывает B-деревья, эффективнее которых для диапазонных запросов за предыдущие 30+ лет ничего не придумали.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[27]: Кроссплатформа - состояние на конец 2022
От: Sinclair Россия https://github.com/evilguest/
Дата: 10.12.22 16:05
Оценка: :)
Здравствуйте, vdimas, Вы писали:

V>Чем не устроил ExtTextOut?

Он с точки зрения обсуждаемых вопросов ничем от TextOut не отличается.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[26]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 17:40
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

S>На всякий случай напомню, что в обычном дереве ровно столько ссылок на сами данные, сколько записей в исходных данных.


И кто мешает дорабатывать структуры данных?


S>Ваша идея про то, что можно одной ссылкой из дерева сослаться сразу на X записей исходных данных, в целом верна, хоть и лажает в деталях.


Нет там никакой лажи, натуральная физическая сортировка записей по первичному ключу вводится в БД именно за этим.


S>Например, кластерные индексы в MS SQL именно так и устроены — только они не зависят от наличия непрерывных диапазонов в значениях первичного ключа в исходных данных. Достаточно простой упорядоченности.


Да, в терминах MS SQL этот индекс назвали "кластерным".
От замечания про прерывность или непрерывность диапазонов поржал, конечно.

Ты разве не в курсе про самые первые алгоритмы сжатия графики в GIF и ICO форматах?
Непрерывные последовательности пикселов одинакового цвета кодируются одной записью.
Понятно, что таких записей будет больше, если "диапазоны" прерываются.
Подобные способы сжатия информации — одни из очевиднейших, используются со времён царя Гороха.

И тут ты даёшь ссылки на "новейшее исследование" по давно известному. ))

В общем, опять попёр от тебя примитив какой-то, опять резко стало скучно, дальше не читал...
Отредактировано 11.12.2022 0:13 vdimas . Предыдущая версия .
Re[28]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 17:50
Оценка:
Здравствуйте, Sinclair, Вы писали:

V>>Чем не устроил ExtTextOut?

S>Он с точки зрения обсуждаемых вопросов ничем от TextOut не отличается.

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

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

Если бы помнил о таком разделении, то с полутыка догадался бы, что "виртуальная вёрстка" в памяти происходит точно, а на экране отображается с учётом допущений, связанных с низким разрешением экрана, где приоритет был отдан чёткости изображения букв перед позиционированием.

Плюс мои рассуждения про отыгрывание выравнивания пробелами, в общем, задача отобразить док-т достаточно точно не выглядела неразрешимой — выравнивание по правому и левому краях в Ворде и других редакторах всегда было идеальным. Поэтому спор заведомо бестолковый.
Отредактировано 10.12.2022 17:52 vdimas . Предыдущая версия . Еще …
Отредактировано 10.12.2022 17:51 vdimas . Предыдущая версия .
Re[24]: Кроссплатформа - состояние на конец 2022
От: vdimas Россия  
Дата: 10.12.22 21:49
Оценка:
Здравствуйте, Sinclair, Вы писали:

V>>Текст в памяти был представлен 16-тибитными индексами соотв.глифов из кеша (ага, в старых Вордах более 64к вариантов глифов в одном док-те не получалось).

S>Это бесценная информация об устройстве Word, особенно, если она правдива.

Кстате, в какой-то момент они перешли на прорисовку ср-вами DirectX.
Вряд ли это было ускорения ради, т.к. ср-вами GDI шрифты рисовались драйверами этого GDI более чем эффективно.

Думаю, это была попытка обойти ограничение на 16-битные индексы глифов в GDI, бо в DX можно кешировать произвольное кол-во глифов.

А всякие 3D эффекты текста и плоских фигур появились после перехода на DirectX, ИМХО, "потому что теперь так можем". ))
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.