The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Опубликовано пользовательское окружение GNOME 45 "
Отправлено Аноним, 23-Сен-23 15:52 
> "Появление массива строк на экране" - это рендеринг

Нет, это чтение строк (массива байт до нуль-терминатора) из буфера (массива фиксированного размера указателей на строки) и, возможно, запись в произвольный буфер вывода (например, тоже в текстовый). Чтение/запись могут осуществляться одним вызовом Си-функции на буфер (DOD-style) - быстро, как любят практикующие инженеры, а может - десятками вызовов (OOP-style) - безобразно медленно, как любят математики-теоретики.
Рендеринг - это последовательная растеризация глифов векторного шрифта с учетом шрифтовых метрик (например, расстояния между определенными буквами), возможно, с последующим копированием финального растра в видеобуфер.
В текстовом режиме экрана используются только моноширинные растровые шрифты с фиксированным кеглем и там фаза рендеринга отсутствует вовсе, есть только текстовый вывод (запись байт в текстовый буфер дисплея). А непосредственно вывод на дисплей - аппаратный.

> при действительно быстром выводе

Если вывод буферизирован (как в stdout), скорость вывода в него (вызов функции с передачей указателя на начало копируемой строки) не зависит от скорости вывода на дисплей. Наоборот, второе зависит от первого. Фаза рендеринга, если такая есть, перед выводом на дисплей - аналогично, отдельный зависимый поток. На скорость работы скрипта вывод, с рендерингом или без, не влияет.
Собственная скорость рендеринга мало отличается при выводе через современные ГПУ и ЦПУ (ибо ЦПУ везде многоядерные с высокой частотой, а ГПУ не умеют оптимизоровать рендеринг кривых, они больше по треугольникам и линейной алгебре).
Таким образом "действительно быстрый вывод" упрётся в бутылочное горлышко скорости появления строк в буфере (ещё до рендеринга), что наиболее вероятно, либо в ограничения аппаратного вывода (частота синхронизации дисплея), что менее вероятно.

> легко обнаруживается двойным слепым

Вывод - на экран, это слияние буферизированного stdout и небуферизированного stderr. Он недетерминирован. То есть мы получаем разный результат при одинаковых вводных в зависимости от фазы луны. Поэтому каждый видит лишь то, что хочет. В этом легко убедиться проводя эксперименты больше одного раза, в разных лабораториях, разными экспериментаторами (хоть бы и зрячими, в слепых я, простите, не верю, капитализм исключает "слепоту" в науке).

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, [email protected] (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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