grenders22 писал(а):
SII писал(а):
Никаких. Попиксельно будет ещё медленнее.
Если нет альтернатив, то как строить этот "мост" между озу и видеопамятью?
Если стоит задача готовить кадр силами центрального процессора (т.е. без использования ГП на видюхе -- а именно так и приходится делать в Вашем случае, поскольку, даже если документация на ГП открыта, сделать свой драйвер будет архисложно), то надо сначала полностью подготовить новый кадр в обычном ОЗУ, а затем скопировать его в видеопамять либо одной-единственной операцией копирования (сразу весь буфер), либо построчно (это выгодней, если под каждую строку в данном видеорежиме выделено больше памяти, чем фактически необходимо для хранения пикселей: в этом случае достигается экономия за счёт того, что копируются только нужные данные). Благодаря этому на каждый кадр будет выполняться лишь одно копирование, без которого в любом случае не обойтись.
Если есть возможность переключать страницы видеопамяти, то, возможно, будет полезно использовать две видеостраницы. Тогда изображение всё равно готовится в обычном ОЗУ, потом копируется в ту страницу, которая сейчас неактивна, после чего видеоконтроллеру выдаётся ЦУ переключить страницы (использованием соответствующей функции BIOS, скорей всего). В данном случае скорость может оказаться выше, чем при использовании одной страницы, за счёт того, что видеоконтроллер, осуществляя вывод кадра на экран, обращается к одной области видеопамяти, а ЦП в процессе копирования -- к другой, и если физически эти страницы доступны независимо, эти обращения можно будет выполнять параллельно.