The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Представлена техника отрисовки шрифтов при помощи GPU

02.01.2016 21:31

Представлен новый метод рендеринга текста при помощи GPU, обеспечивающий высококачественное пиксельное сглаживание результата при любом уровне масштабирования и не потребляющий ресурсы CPU. В отличие от ранее предлагаемых методов, основанных на использовании предопределённых статических текстур, новый метод подразумевает векторную отрисовку глифов силами GPU. Для демонстрации подготовлен работающий в браузере прототип реализации, использующий WebGL.

  1. Главная ссылка к новости (http://wdobbie.com/post/gpu-te...)
  2. freetype-gl
Лицензия: CC-BY
Тип: Обобщение
Короткая ссылка: https://opennet.ru/43621-font
Ключевые слова: font, opengl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 00:28, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    https://imgur.com/jkqaPFe
    amude
     
     
  • 2.4, Michael Shigorin (ok), 00:46, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > https://imgur.com/jkqaPFe

    http://i.imgur.com/O2PdXxe.png

     
     
  • 3.36, Аноним (-), 11:57, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Мыло
     
     
  • 4.71, ы (?), 20:00, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –5 +/
    >Представлен новый метод рендеринга текста при помощи GPU, обеспечивающий высококачественное пиксельное сглаживание результата при любом уровне масштабирования и не потребляющий ресурсы CPU.

    А чем не устраивает старый метод рендеринга текста, обеспечивающий высококачественное пиксельное сглаживание результата при любом уровне масштабирования и не потребляющий ресурсы GPU?

     
  • 4.72, ы (?), 20:05, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Это ж в какую сторону надо идти, чтобы для отрисовки шрифтов целую видеокарту использовать?
    Так глядишь, в скором времени в клавиатуре под каждую кнопку свой процессор будет.
     
     
  • 5.90, Аноним (-), 10:45, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    GPU и так простаивает большую часть времени, а CPU - нет.
     
     
  • 6.91, Аноним (-), 10:59, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    если простаивает - зачем оно нужно?
    интегрированная графика.
    нужно всё интегрировать в процессор.
     
     
  • 7.94, Аноним (-), 12:55, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Уже давно, с разморозкой.
    Но и там она простаивает.
     
     
  • 8.96, Аноним (-), 16:22, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    интегрированная графика с разморозкой простаивает ... текст свёрнут, показать
     
  • 5.93, commiethebeastie (ok), 12:15, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://www.artlebedev.ru/everything/optimus/
     
  • 5.104, Аноним (-), 00:01, 06/01/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Это ж в какую сторону надо идти, чтобы для отрисовки шрифтов целую видеокарту использовать?

    Совсем охренели! Хотят графику на видеокарте рендерить?!

     
  • 4.73, ы (?), 20:07, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё надо сделать оперативную памать в оперативной памяти.
     
     
  • 5.107, oopsy (?), 21:04, 06/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Назад в восьмидесятые - своп в памяти граф.карты :)
     
  • 3.110, Аноним (-), 10:00, 11/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> https://imgur.com/jkqaPFe
    > http://i.imgur.com/O2PdXxe.png

    :[
    http://imgur.com/iiIfgwy

     

  • 1.3, pavelpat (ok), 00:34, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Как по мне, патчи infinality дают более приятный глазу субпиксельный рендеринг
     
     
  • 2.9, grayich (ok), 01:15, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    зависит скорее от монитора и вкуса
    меня infinality не устроили, а вот fontconfig-ubuntu + freetype2-ubuntu - дают нужный результат
     
  • 2.12, Аноним (-), 01:51, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Идея только в технике хранения глифов, а так у них обычный антиалисинг без хинтинга, т.е  будет замыливать не очень крупный текст.
    Кстати, ненавистникам WebGL на заметку, сделать прототип и уж тем более распиарить так намного легче.
     
     
  • 3.13, Аноним (-), 01:57, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Удивительно, но на HiDPI экране выглядит очень даже неплохо. Когда у всех будет нормальное разрешение, про эти танцы с бубнами с субпиксельным антиалиасингом и хитрыми патчами можно будет забыть.
     
     
  • 4.51, Аноним (-), 15:58, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это и сейчас с чистой совестью сделать можно. Но у некоторых же руки не для скуки...
     
     
  • 5.70, ы (?), 19:55, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    акак?
     
     
  • 6.78, Crazy Alex (ok), 21:11, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Bytecode interpreter и хорошие, хинтованные руками шрифты.
     
     
  • 7.106, rob pike (?), 09:47, 06/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Из Windows XP.
    Потому что других нет.
    И уже не будет.
     
  • 6.95, Аноним (-), 13:51, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Принять усбагоительное и забить на эту фигню. Ну или как предыдущий оратор предлагал, если заняться совсем уж нечем.
     

  • 1.5, lv7e (?), 01:03, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хм. При наличии большого количества текста на экране и изменении масштаба начинает подтормаживать мышь.
    Интересно, есть ли возможность перенести рендеринг в отдельный GPU поток?
     
     
  • 2.66, Аноним (-), 19:14, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    да, но это делается пока в SERVO движке:
    https://github.com/servo/servo
     

  • 1.6, Аноним (-), 01:12, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Отлично выглядит, но на старом железе тормозит.
     
     
  • 2.7, pavelpat (ok), 01:13, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Отлично выглядит, но на старом железе тормозит.

    Так в случае WebGL это только прототип, показывающий качество отрисовке шрифтов а не скорость работы.

     
     
  • 3.29, Аноним (-), 11:17, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю.
    Качество отличное.
     

  • 1.8, ВА (?), 01:14, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну, а как эту шнягу, например, на дебиане присобачить? Системно, так сказать. И еще желательно, с возможностью все запустить через дискретную через optirun
     
     
  • 2.26, Khariton (ok), 09:34, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    по ходу надо садится и ксорг править...
     

  • 1.10, Mihail Zenkov (ok), 01:31, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Крайне сомнительная затея с экстремально низкой энергоэффективностью, а при большом количестве текста или слабом gpu еще и тормозить будет.

    > The standard way of rendering text with the GPU is to use a font atlas. ... The drawback with atlases is that you can’t store every glyph at every possible size or you’ll run out of memory.

    Загружать в память только используемые размеры шрифтов авторы не додумались.

     
     
  • 2.15, Аноним (-), 02:01, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Крайне сомнительная затея с экстремально низкой энергоэффективностью, а при большом количестве
    > текста или слабом gpu еще и тормозить будет.

    Не согласен. Отрисовка идёт на шейдере, так что по производительности и энергоэффективности уделает любой CPU-шный растеризатор.

    > Загружать в память только используемые размеры шрифтов авторы не додумались.

    Но это всё равно не решает проблему ограниченного разрешения атласа.

     
     
  • 3.17, Mihail Zenkov (ok), 03:11, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    На cpu мы один раз при загрузке шрифта рендерим несколько сотен символов или воо... большой текст свёрнут, показать
     
     
  • 4.97, Аноним (-), 17:09, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Даже если рендеринг на gpu будет в 10 раз эффективнее (что еще не факт - далеко не все алгоритмы могут эффективно работать на gpu)

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

     
  • 2.27, Нанобот (ok), 09:49, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Загружать в память только используемые размеры шрифтов авторы не додумались.

    Или додумались, но решили не напрягаться, прототип же, а не готовое решение

     
     
  • 3.42, Mihail Zenkov (ok), 12:47, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Загружать в память только используемые размеры шрифтов авторы не додумались.
    > Или додумались, но решили не напрягаться, прототип же, а не готовое решение

    Прочтите саму статью. Авторы утверждают, что при стандартном методе памяти не хватит и они нашли как исправить этот "фатальный" недостаток - рендерить каждый символ заново на gpu.


     
  • 2.56, Аноним (-), 16:42, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Загружать в память только используемые размеры шрифтов авторы не додумались.

    Как иначе ты будешь делать плавный zoom? Ты не сможешь с достаточной скоростью подгружать в память видеокарты дополнительные размеры.

     
     
  • 3.57, Mihail Zenkov (ok), 17:19, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сколько по-вашему длится загрузка в память видеокарты текстуры размером в 0.2 - 16 MB? Вроде еще со времен agp это перестало быть проблемой.
     
     
  • 4.67, Аноним (-), 19:30, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Сколько по-вашему длится загрузка в память видеокарты текстуры размером в 0.2 - 16 MB?

    Сколько этих текстур надо загрузить при одной прокрутке колёсика мышки и кто будет считать, какой именно размер надо взять в данный момент?

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

     
     
  • 5.77, Mihail Zenkov (ok), 20:59, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    без интерполяции - около шести Есть какие-то трудности с расчетом размера шрифта... большой текст свёрнут, показать
     
  • 2.59, Michael Shigorin (ok), 18:55, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Загружать в память только используемые размеры шрифтов авторы не додумались.

    Плавное масштабирование (разве что его обрабатывать картинкой, а не пересчётом _глифов_).
    А так, помнится, в win95 был как раз кэш отрастеризованных векторных шрифтов сделан.

     
     
  • 3.79, Mihail Zenkov (ok), 21:58, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Плавное масштабирование (разве что его обрабатывать картинкой, а не пересчётом _глифов_).

    Зависит от задачи: если нужна анимация при смене масштаба - можно сделать плавное изменение масштаба картинки, а финальный кадр отрисовать с нужным шрифтом.

    Если же просто нужно точное масштабирование в произвольный размер - то отрендерить новый размер шрифта на cpu будет тоже (если не быстрее), чем заново отрисовать новую страницу с тысячами символов.

    P.S. Если кому интересно: замерил скорость отрисовки freetype + подготовка текстуры для OpenGL с набор в 159 глифов (lat + cyr):
    5-7 ms для размера в 13px
    14-16 ms для размера в 63px

    Cpu - amd 3.3 GHz, исполнялось в один поток, можно реализовать и многопоточную отрисовку (каждый глиф в свой поток).

     

  • 1.11, Аноним (-), 01:42, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Все очень плохо на мелких пойнтах.
     
     
  • 2.14, grayich (ok), 01:57, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    если ppi малый - то да, плохо
    вообще даёшь везде ppi >500 и тогда никакого сглаживания ненужно)
     
     
  • 3.60, Michael Shigorin (ok), 18:55, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вообще даёшь везде ppi >500 и тогда никакого сглаживания ненужно)

    300 более чем достаточно, см. лазерники.

     
     
  • 4.65, grayich (ok), 19:13, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    мне недостаточно 300, глаз хорошо отличает 300 и 500


     
  • 4.103, Kroz (??), 20:20, 05/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > 300 более чем достаточно, см. лазерники.

    Когда Apple-Samsung и иже с ними опять захотят померяться, то они доходчио объяснят почему недостаточно.
    См. пиар.

     

  • 1.16, Tav (ok), 02:56, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Похоже, что оно не использует хинтинг и сохраняет пропорции шрифтов при любом масштабе, что может быть полезно в некоторых приложениях типа просмотрщиков PDF, но едва ли это хорошо в общем случае, особенно на экранах с низким разрешением, т. к. мелкий текст получается менее четким.
     
  • 1.18, Аноним (-), 03:16, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На linux только в хроме, и только на проприетарных дровах nvigia это дает качественную отрисовку и 60 fps. И то иногда есть пропуски(или джиттер?) кадров.
    Firefox ест 60% процессора даже при ноль кадров/с и дерганная отрисовка. На открытых дровах и интеле вообще артефакты и дерганная картинка везде.
     
     
  • 2.19, grayich (ok), 03:31, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    это только демонстрация сглаживания через webgl, само сглаживание  нативно - https://code.google.com/p/freetype-gl/

     
  • 2.28, username (??), 10:00, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    intel
    qupzilla  

    все норм работает.

     
  • 2.38, Аноним (-), 12:07, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а в фоксе вебгл вроде хардварный так и не работает, не?
     
  • 2.63, Michael Shigorin (ok), 19:07, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > На открытых дровах и интеле вообще артефакты и дерганная картинка везде.

    ALT Linux Sisyphus/x86_64, xorg-drv-intel-2.99.917-alt3, i7-3517U, firefox/chromium -- никаких артефактов не наблюдаю, картинка ровная.  Можете проверить у себя с altlinux.org/regular при желании.

     
     
  • 3.68, Аноним (-), 19:44, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Думаю переходить с арча на сизиф. Стоит ли и насколько часто всё будет ломаться?
     
     
  • 4.69, grayich (ok), 19:48, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    manjaro - тот же арч, только стабильней за счёт стабилизации пакетов
     
  • 4.76, Michael Shigorin (ok), 20:37, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Думаю переходить с арча на сизиф. Стоит ли

    Такие вещи каждый сам решает, при рациональном подходе они во многом субъективны (плюс оценка зависит от состояния "претендентов" в конкретный период времени).

    > и насколько часто всё будет ломаться?

    См. http://altlinux.org/changes -- там есть и архив по прошлым годам.

    Можете посматривать на те же http://altlinux.org/regular порой на своём железе и своих задачах, будет нулевое приближение именно своей оценки; там же и http://nightly.altlinux.org/sisyphus/ChangeLog с http://nightly.altlinux.org/sisyphus/BUGS

     

  • 1.20, Неуловимый Джо (?), 06:35, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну да, ресурсы процессора не потребляются, но зато GPU загружен так, что курсор мыши тормозит, а любая параллельная анимация окон так вообще слайд-шоу.
     
  • 1.21, Котонимус (?), 06:52, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Правильно,надо же как-то продавать новое железо, а то ишь что удумали - интернеты с интеграшек читать.
     
     
  • 2.22, dalco (ok), 06:57, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Хм. Сейчас тестил именно на интеграшке (Xeon E3-1245v3). Все летает, багов рендеринга нет. В соседних вкладках (Firefox 43) видео не тормозит.
     
  • 2.23, soarin (ok), 08:54, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У меня эль капитану совсем поплохело от того как я запустил демо в safari. Почти минуту ничего вообще нажать не мог в ОС.
    В opera и firefox нормально оказалось.
     
  • 2.40, Неуловимый Джо (?), 12:20, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дада, правильно, теперь чтобы просто отмасштабировать текст в браузере, понадобится как минимум 2 GeForce TITAN в SLI-режиме, на всем остальном будет тормозить :))
     

  • 1.24, Аноним (-), 09:18, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Задержка у видеокар в несколько порядков выше чем доступ до CPU
     
  • 1.25, Аноним (-), 09:25, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Повесил браузер. Отличная отрисовка. Наверное...
     
  • 1.30, VXZ (?), 11:29, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не знаю ребята, у кого чего тормозит, а меня очень обрадовала скорость рендеринга, никаких тормозов на ноутбучной графике ati5650. Загрузка проца при этом 40%. Всё гладко и приятно. Мелкий текст, конечно не очеь четко выглядит, но при обычном рендеринге такое количество текста в pdf формате, в таком качестве и с такой скоростью отрисовки, как в примере, сейчас не доступно. Скорость и качество впечатляет, тем более если это только пример, а не конечная версия.
     
     
  • 2.43, Mihail Zenkov (ok), 13:03, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    С алгоритмом отрисовки шрифта это явно не связано - при отрисовки через freetype непосредственно на рендеринг шрифта уходит 1.5% cpu от общего потребления программой просмотра pdf.

    Попробуйте откройте этот же файл в mupdf и mupdf-gl. Попробуйте переключить 2d акселерацию - glamor/exa.  

     

  • 1.31, VXZ (?), 11:32, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Mint, firefox, ati 5650, amd n850, свободные дрова.  
     
  • 1.33, Аноним (-), 11:43, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    APU и OpenCL лучше и использовать.
     
  • 1.34, Аноним (-), 11:54, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Старый амиговский подход - перенести на сопроцессоры всё что можно. Хороший такой, но без драйверов труба.
     
     
  • 2.100, None (??), 14:38, 05/01/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну, хранение шрифтов в памяти видеоадаптера - изобретение далеко не первой свежести))
     
  • 2.108, Аноним (-), 05:08, 11/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    а ведь был еще и беосовский подход!
     

  • 1.35, anonymous (??), 11:54, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Firefox 43, GeForce9600GT, проприетарные драйвера, проц слабый (Е5200) - когда видно 12 целых страниц - двигается без тормозов, на более крупном масштабе, когда текст уже читать можно - летает так, что я вообще не думал что мой комп на такое способен. Небольшие артефакты - мерцание в букве t вертикальное в точке пересечения на очень крупном масштабе. Проц правда усирается, оба ядра на 75% загружены. Имхо - годная технология, такой плавности в браузере я давно не видел.
     
     
  • 2.55, Аноним (-), 16:36, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > проприетарные драйвера

    В этом и суть: технология весьма драйверозависима, а значит результат на разном железе заранее не предсказуем.

     

  • 1.39, Аноним (-), 12:11, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сомнительная затея. По крайней мере на мобилах точно не прокатит, аккумулятор будет сжирать за раз.
     
  • 1.41, VXZ (?), 12:22, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Игрухи и видео с ютуба за раз не сжирают, а это будет...
     
  • 1.46, Kodir (ok), 13:32, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Попробовал в Опере/Win7 - вполне здорово работает! ЦПУ не мерял, но тормозов нет точно.
    Шрифты сейчас не проблема, проблема - шизоидная мода на плоский интерфейс, который путает юзеров.
     
  • 1.48, Птолемейсхордойнаперевес (?), 14:32, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    chromium, firefox, radeon (hd6670) - только фреймы страниц и рисует, остальное не рендерит.
     
  • 1.50, Антон (??), 15:22, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Шёл 2016-ый год, а линуксоиды всё выдумавают костыльную копию Direct2D.
     
     
  • 2.75, Michael Shigorin (ok), 20:17, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Шёл 2016-ый год, а линуксоиды всё выдумавают костыльную копию Direct2D.

    Можно подробнее про D2D (или, скажем, про DW) применительно к шрифтам на GPU?

     

  • 1.52, Sw00p aka Jerom (?), 16:07, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    FF 38.5.0 RHEL 7.2 Intel® Sandybridge Desktop (i915)

    Офигительно рендерит и без зависаний, на винде в хроме и ФФ ваще косяки страшные в рендеринге.

     
     
  • 2.111, Аноним (-), 22:02, 11/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    win10, ff, nv
    полет нормальный
     

  • 1.58, Аноним (-), 18:54, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Мне казалось что шрифты рисует GPU со веремен S3 Trio
     
     
  • 2.61, grayich (ok), 18:55, 03/01/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    отрисовывает и отображает - разное


     

  • 1.62, h31 (ok), 19:05, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    http://i.imgur.com/5yiFZSc.png

    http://i.imgur.com/g5DdxSn.png

    Хрень.

     
  • 1.64, Аноним (-), 19:11, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В чём суть новости? По ссылкам какая-то фигня то приближает, то удаляет страницы с буквами :-(
     
  • 1.74, Аноним (-), 20:16, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    великолепно! это пять!
     
  • 1.80, agente (?), 22:10, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    отлично работает на радеоне, хотеть больше такого в вебе.
    https://youtu.be/V39gnrFzDis
     
  • 1.81, Аноним (-), 22:55, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Да отличная весчь. ТОлько когда сделают тоже самое, только без мыла? Ведь в кривых безье которыми прорисованы буквы нет информации о градиентах замыливания! Там только кривые описывающие контуры букв, а это значит что это не точная отрисовка шрифта, а произвольная. И я так и не понял они что в памяти GPU хранят все шрифты всех размеров, или перерисовывают динамически по векторным данным?
     
  • 1.82, Аноним (-), 22:57, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    ну наконец то нашли способ чтобы браузер тормозил еще сильнее
     
  • 1.83, pavlinux (ok), 23:33, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Failed to create WebGL context
     
  • 1.84, Адепт (?), 23:39, 03/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    i915 отрисовывает корректно, однако тормозит сильно
     
     
  • 2.87, pavlinux (ok), 00:25, 04/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    i915 - эмулятор видеокарты, выкинь бяку.  
     
     
  • 3.99, Адепт (?), 10:36, 05/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    ну хотя бы лучше чем nvidia
     
     
  • 4.101, None (??), 14:40, 05/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > ну хотя бы лучше чем nvidia

    На nvidia с родными драйверами - работает отлично.

     
     
  • 5.109, Аноним (-), 05:16, 11/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    отлично от nouveau
     

  • 1.85, Sumanai (?), 00:22, 04/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Текст нормальных размеров (16 пикселей) совершенно не читаемый, жуть.
     
  • 1.86, pavlinux (ok), 00:23, 04/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    glXUseXFont() - Copyright (C) 1999  Brian Paul   All Rights Reserved.



    static void setup_font( Display *dpy )
    {
        XFontStruct *fontInfo;
        Font id;
        unsigned int first, last;

        fontInfo = XLoadQueryFont(dpy, FontName);
        if (!fontInfo) {
            printf("Error: font %s not found\n", FontName);
    exit(0);
        }

        id = fontInfo->fid;
        first = fontInfo->min_char_or_byte2;
        last = fontInfo->max_char_or_byte2;

        FontBase = glGenLists((GLuint) last + 1);
        if (!FontBase) {
            printf("Error: unable to allocate display lists\n");
    exit(0);
        }
        glXUseXFont(id, first, last - first + 1, FontBase + first);
    }


    Или я чот не вкуриваю?

     
  • 1.89, Аноним (-), 10:24, 04/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на айпаде выдает 4 fps
     
  • 1.92, бедный буратино (ok), 12:07, 04/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    до чего техника дошла
     
  • 1.98, Аноним (-), 19:46, 04/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну и где же рендеринг текста является узким местом, чтобы это бесполезное усложнение имело смысл?
     
     
  • 2.102, None (??), 14:41, 05/01/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и где же рендеринг текста является узким местом, чтобы это бесполезное
    > усложнение имело смысл?

    По крайней мере оно работает быстрее, чем pdf.js

     

  • 1.105, Аноним (-), 01:28, 06/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как у этой поделки обстоят дела с OS X?
     
  • 1.112, Coocos (?), 21:17, 13/01/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На ipad дикие тормоза.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру