OSDev
http://osdev.su/

memcpy
http://osdev.su/viewtopic.php?f=6&t=2384
Страница 1 из 2

Автор:  grenders22 [ 12 май 2018, 21:23 ]
Заголовок сообщения:  memcpy

Добрый вечер! memcpy ведет себя очень странно, он очень шустрый на виртуальной машине, но очень медленный на реальном железе. Казалось бы виртуалка ограничена по сравнению с железом, но нет. ПОнимаю что вопрос чрезвычайно смутный, но все же чем вообще могут быть связаны такие показатели скорости?

Автор:  Himik [ 12 май 2018, 21:49 ]
Заголовок сообщения:  Re: memcpy

В виртуалке все устройства виртуальные, тоесть их нет на самом деле, поэтому операции с ними несколько упрощены по сравнению с настоящим железом. И да - запись в видеопамять виртуалки - это не прямая запись в видеопамять видеокарты, при этом виртуалка ещё использует драйвер системы, 2D и 3D видеоускорение.

Автор:  grenders22 [ 12 май 2018, 21:56 ]
Заголовок сообщения:  Re: memcpy

Как вывод memcpy не лучшая идея? Правильно понимаю? Или все же есть способ ускорить?

Автор:  Himik [ 13 май 2018, 09:41 ]
Заголовок сообщения:  Re: memcpy

Да нормально.

Автор:  grenders22 [ 13 май 2018, 12:05 ]
Заголовок сообщения:  Re: memcpy

Практическим методом выяснил, что медленно работает memcpy лишь при копировании из ОЗУ в видео память, а внутри ОЗУ все норм. Какие могут быть альтернативы? По пиксельно?

Автор:  SII [ 13 май 2018, 15:28 ]
Заголовок сообщения:  Re: memcpy

Никаких. Причина в расположении видеопамяти далеко от процессора (через несколько мостов) и в её загруженности доступами со стороны графического процессора (точней, той его части, которая отвечает за вывод изображения на экран). Попиксельно будет ещё медленнее.

Автор:  grenders22 [ 13 май 2018, 15:40 ]
Заголовок сообщения:  Re: memcpy

SII писал(а):
Никаких. Попиксельно будет ещё медленнее.


Если нет альтернатив, то как строить этот "мост" между озу и видеопамятью?

Автор:  scuter [ 13 май 2018, 16:17 ]
Заголовок сообщения:  Re: memcpy

там графические ускорители работают, на видюхе тоже есть проц.

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

Автор:  Himik [ 13 май 2018, 21:11 ]
Заголовок сообщения:  Re: memcpy

grenders22 писал(а):
Практическим методом выяснил, что медленно работает memcpy лишь при копировании из ОЗУ в видео память, а внутри ОЗУ все норм. Какие могут быть альтернативы? По пиксельно?

Если настроишь таблицу PAT и атрибуты виртуальных страниц на видеопамяти для включения режима "Write combine", то будет достаточно быстро.
И да - memcpy нельзя делать внутри видеопамяти, т.к. видеопамять читается долго.

Автор:  grenders22 [ 13 май 2018, 21:20 ]
Заголовок сообщения:  Re: memcpy

Himik писал(а):
Если настроишь таблицу PAT и атрибуты виртуальных страниц на видеопамяти для включения режима "Write combine", то будет достаточно быстро.

Куда копать, чтобы сделать это? Я так понял PAT это страничная?

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/