Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возможно-ли достучаться до видео памяти монитора? 
V
    Опции темы
Ak47black
  Дата 18.6.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Привет всем.
Вообщем может что я напишу щас может быть абсурдом, но всетаки хочю спросить.
Возможно-ли из программы написанной например на Delphi которая работает на ring 3 достучаться до памяти которой пользуется монитор что-бы вывести на монитор изображение  smile ? 
Мне нужно научиться получать скриншот с экрана с молниеносной скоростью и вычислять изменения и потом посылать по сети, вообщем делаю удалённое управление.
Пробовал разобраться в дебрях Mirror Driverа, но понял что на него ругается Vista-aero и не хочет работать, я как понял Microsoft это дело хочет с Mirror Driverом прикрыть и этот путь не безопасен.
Вообщем как вы думаете?  smile

Добавлено через 1 минуту и 52 секунды
P.S. Тему не много не корректно назвал.
PM MAIL   Вверх
W4FhLF
Дата 18.6.2007, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Цитата(Ak47black @  18.6.2007,  17:32 Найти цитируемый пост)
Возможно-ли из программы написанной например на Delphi которая работает на ring 3 достучаться до памяти которой пользуется монитор что-бы вывести на монитор изображение   ? 


Да - WinAPI. В целом существуют техники исполнения ring3 кода в нулевом кольце, но это недокументированные эксперименты, тупиковый вариант.

Цитата(Ak47black @  18.6.2007,  17:32 Найти цитируемый пост)
Мне нужно научиться получать скриншот с экрана с молниеносной скоростью и вычислять изменения и потом посылать по сети, вообщем делаю удалённое управление.


А ты бенчмарки делал? Профайлером смотрел? Прямо-таки все задержки в апи? Что-то сомнения у меня, я думаю в ring0 вообще лезти незачем. 



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ak47black
Дата 18.6.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Цитата

В целом существуют техники исполнения ring3 кода в нулевом кольце

А какие, можно подробней?
Ну если просто сделать скриншот(я имею в виду получиться пиксели не в фомате PfDevice) то около 80ms гдето занимает через Winapi, что нагружает процессор если это очень быстро делать.

Добавлено через 12 минут и 53 секунды
Хотя может кривой код у меня.
PM MAIL   Вверх
Alexeis
Дата 18.6.2007, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Ak47black, Так вроде Оверлей это и есть та самая поверхность которая нужна, там даже цветовой формат не RGB, YUV тот который у монитора.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 18.6.2007, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Alexeis, как получить доступ к нему?

Добавлено @ 18:40
Цитата

А ты бенчмарки делал? Профайлером смотрел? Прямо-таки все задержки в апи? Что-то сомнения у меня, я думаю в ring0 вообще лезти незачем.

Ну так и выходит что сдирание много времени занимает, так бы не делали всяких Mirror Driveров как я понимаю. А в Mirror Driverе напрямую тянет app(ring3) из ring0(surface) через DrvEscape биты изображения. 
Там ешё конечно можно засеч на каких областях произошло рисование, но это можно при помощи простого сравнения двух Bitmap лижбы их получать быстро.
Ну незнаю я так думаю  smile .

Это сообщение отредактировал(а) Ak47black - 18.6.2007, 18:45
PM MAIL   Вверх
W4FhLF
Дата 18.6.2007, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: нет
Всего: 121



Цитата(Ak47black @  18.6.2007,  18:35 Найти цитируемый пост)
Ну так и выходит что сдирание много времени занимает, так бы не делали всяких Mirror Driveров как я понимаю. А в Mirror Driverе напрямую тянет app(ring3) из ring0(surface) через DrvEscape биты изображения. Там ешё конечно можно засеч на каких областях произошло рисование, но это можно при помощи простого сравнения двух Bitmap лижбы их получать быстро.Ну незнаю я так думаю


И какая разница во-времени? 80ms вроде неплохой, я считаю. Ты уверен, что свой алгоритм уже не ускоришь? Профайлером посмотри. 

Цитата(Ak47black @  18.6.2007,  18:09 Найти цитируемый пост)
А какие, можно подробней?


Ну ищи в сети "исполнение ring3 в ring0" smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Alexeis
Дата 18.6.2007, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459





--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 18.6.2007, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Я эту статью уже читал, там вроде нету (или я плохо читал).

Добавлено @ 23:14
А есть какие-то варианты без DirectX и прочей шелухи?

Это сообщение отредактировал(а) Ak47black - 18.6.2007, 23:34
PM MAIL   Вверх
Alexeis
Дата 19.6.2007, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Ak47black, мдя у мня вышло 37мс на 1024х768х32, но тоже скорость неудовлетворительная...


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 19.6.2007, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Alexeis, лан тута надо еше как я вижу в сторону mirror driverа покопать.  smile 
Я думаю что просто когда сдирает то он всякую ерунду не нужную делает.
Тут надо с ring 0 тащить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.