Соответственно, обращение к локальной видеоподсистеме идёт не через DMA, а через сокеты. Которые в принципе не предназначены для прямого доступа к памяти. Из-за этого все тормоза.
Может я параноик, но разрешать любому приложению писать в DMA произвольны символы не безопасно.
Соответственно, обращение к локальной видеоподсистеме идёт не через DMA, а через сокеты. Которые в принципе не предназначены для прямого доступа к памяти. Из-за этого все тормоза.
Не замечал различий.
Удаленный доступ это не то, на что следует ориентироваться, для этого есть специализированные протоколы - RDP, VNC и т.д.
Вы ничего опять не поняли. У меня на рабочем столе не другой рабочий стол, а только окно терминала (свёрнутое) и окно синаптика в заголовке которого написано на каком компе он запущен.
Пока эта проблема решается переписыванием Иксов производителями оборудования, это ненормальная ситуация.
Для незнающих. Локальные сокеты в линухе я слышал передают данные между апликухами через диспетчер виртуальной памяти (переключение сегментов/страниц).
Добавлено спустя 10 мин 42 с:
Про твои упражнения с WinSock многие читали, и уже поняли, какой-ты спИциалист, впрочем как и все остальные луноходы здесь, за редким исключением. Так что не смеши людей своими глупыми высказываниями.
Поинтересовался на свою голову. Заткнитесь а, давно уже с этой проблемой разобрался.
Может вам интересно, но за несколько лет можно и подзабыть что винсок имеет события . Я к VB уже 2 года не притрагивался.
Не ламерствуй лукаво.
"А петь мне нельзя - постановление суда" (с) Бендер
Неактивен
если доступ к памяти видеоконтроллера идёт через ЦПУ, а не через контроллер ПДП (что абсолютно всегда имеет место в клиент-серверной архитектуре),
А можно с этого места поподробнее? Что такое DMA? Для чего это используется? Каким образом оно связано с GPU? Почему клиент-серверная архитектура позволяет обращение к видеопамяти только посредством CPU?
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Что такое DMA
Это такая фишка которая позволяет устройствам напрямую обращаться к RAM не требуя запахать процессор.
Однако локальные сокеты никаким образом к этому не относятся, все подобные манипуляции происходят только на уровне ядра.
Даже в божественной это закрыто толстым слоем API.
Реально с DMA диапазонами работают только драйвера. А драйвер всегда находиться на одном ПК с иксами и управляется ABI.
Просьба не путать тёплое с мягким, и хотя бы иногда читать мелкомягкий хелп.
Не ламерствуй лукаво.
"А петь мне нельзя - постановление суда" (с) Бендер
Неактивен
на локальной машине данные для GPU прогоняются от "сервера" к "клиенту" через "вырожденный" сетевой протокол,
А про локальные сокеты мёсье ничего не слышал? Печально.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Да да да да! Именно - только драйвера! А с драйверами в данном случае работает "клиент", видеоданные к которому приходят от "сервера" посредством "вырожденного" сетевого протокола.
Прошу не путать локальные сокеты и стек TCP/IP.
Что ты плетешь, гад! Как можно забыть, что у обьекта есть свойства, методы, события??? Это все равно что забыть как ложку держать, хватит уже чушь пороть, клоун!!!
Из головы вылетело... ты вообще ничего не забываешь?
Шо локальные, шо реальные - всё равно обмен через них идёт при непосредственном участии CPU.
Накладные расходы небольшие. Всего то передать страницу памяти от одного приложения в другое. А это насколько я помню изменить содержимое одной ячейке (32 бита) в таблице виртуальной памяти. Скорее всего там есть и сопутствующие действия, но задержки незначительны.
Xclient - soket - Xserver - driver
Не ламерствуй лукаво.
"А петь мне нельзя - постановление суда" (с) Бендер
Неактивен
Сдаётся мне, что дело гораздо сложнее...
Не сложнее WinAPI
Не ламерствуй лукаво.
"А петь мне нельзя - постановление суда" (с) Бендер
Неактивен
Потому что одна и та же страница памяти не может одновременно принадлежать двум приложениям - это противоречит как логике работы ОС, так и правилам безопасности ОС.
Правильно, срочно сообщить майкрософту о вредности такой сущности как memory mapped files.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
И при чём здесь memory mapped files?
А притом, что данный механизм используется как раз для того, чтобы нескольким приложениям дать одновременный доступ к одной и той же странице памяти. Вывод видео на экран здесь конечно не при чём, не для того это сделано, но, тем не менее, о выводе на экран я всё таки советую немного почитать, чтобы не нести здесь явный бред. Документация по архитектуре и расширениям X11 достаточно подробно представлена в сети.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Пока что ты написал здесь исключительно бред.
В каком именно месте?
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
и отсылкам в гугль.
То есть тебе прямую ссылку дать? Ну на
http://dri.freedesktop.org/wiki/Documentation
просвещайся, лапоть.
И ещё
Ещё раз для тупых: если доступ к памяти видеоконтроллера идёт через ЦПУ, а не через контроллер ПДП (что абсолютно всегда имеет место в клиент-серверной архитектуре), скорость рендеринга будет всегда ограничена быстродействием ЦПУ, которое на порядки ниже быстродействия потоковых процессоров видеокарты.
для совсем тупых, во первых при чём здесь собственно говоря DMA как таковой по отношению к клиент-серверной архитектуре? Одно другому не мешает. Во вторых, скорость рендеринга и скорость доступа к памяти это несколько разные вещи, кстати потенциально CPU с пересылкой данных в памяти справится лучше чем GPU через DMA, потенциально потому, что один хрен в обоих случаях лимитирующим фактором будет пропускная способность памяти. Другое дело что если используется DMA процессор в это время может другими делами заняться, хоть и не так эффективно, поскольку память с другим устройством делить придётся. Ну а что касается всяких отрисовок линий и пр, так процессору тут вообще ничего делать не надо, передал координаты начала, конца, толщину и цвет линии на GPU через драйвер и пошёл другими делами заниматься. Ну если только драйвер не vesa, тогда да, придётся адрес каждой точки в видеопамяти через CPU обсчитывать.
Ссылка ничем не лучше отсылки в гугль. Переход на личности. Еще раз и П.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен
Ага, ага, дилетанта видно за версту
Это точно.
если доступ к памяти видеоконтроллера идёт через ЦПУ, а не через контроллер ПДП (что абсолютно всегда имеет место в клиент-серверной архитектуре),
"Команды OpenGL реализованы как модель клиент-сервер. Приложение выступает в роли клиента: оно вырабатывает команды, а сервер OpenGL интерпретирует и выполняет их. Сам сервер может находиться как на том же компьютере, на котором находится и клиент, так и на другом."
http://compgraph.tpu.ru/lib_opengl.htm
А теперь ссылочка на одну из стареньких баг в арче, уже пофиксенную, просто ссылки на нормальную документацию до виндейцев не доходят. Итак
https://bugs.archlinux.org/task/3777
"Xorg still starts, and DRI still works fine, but AGP DMA is not enabled. This is not a major issue; however, using AGP DMA significantly improves OpenGL performance, so failing to use it is not desirable."
Остальной бред мне комментировать лениво, уже этого достаточно чтобы показать что представляют из себя виндовс гуру.
Yesterday it worked.
Today it is not working.
Windows is like that.
Неактивен