Я работал с кодом для печати пикселей.Как получить высокую частоту кадров при использовании putpixel() в C?
// C код
#include<graphics.h>
#include<conio.h>
int main()
{
int gd = DETECT, gm;
initgraph(&gd, &gm, "C:\\TC\\BGI");
for (int i=0;i<100;i++)
{
for(j=0;j<200;j++)
{
putpixel(i, j, GREEN);
}
}
getch();
closegraph();
return 0;
}
Есть ли способ достижения более быстрый отклик от компилятора C при использовании putpixel() в этом коде? Скорость, с которой консоль окрашивается при выполнении putpixel(), довольно медленная, поэтому мне было интересно, есть ли какая-либо другая библиотека, которую я мог бы использовать для ускорения процесса пиксельных пикселей на экране, используя C в системе Windows или Linux один?
Добро пожаловать в переполнение стека. Вопрос не должен быть запросом для библиотеки или программного обеспечения, поскольку они могут привести к спаму и многим мнимым ответам. – milesper
см. [Графика в C/C++] (http://stackoverflow.com/a/21699076/2521214), поскольку вы используете BGI I can not help (не использовали его в течение 2 десятилетий), если вы собираетесь использовать что-то более новое, например GDI то просто создайте bitmap, чтобы получить указатель на его строки и использовать их как любой Array в C/C++. при выполнении рендеринга скопируйте растровое изображение сразу в видимую область (например, окно, ...), это также называется обратным буферизацией. Но вы, вероятно, все еще используете среду MS DOS, поэтому может быть прямой доступ к памяти. + VESA будет лучше, если ваша ОС не ограничивает ваш доступ к ней. – Spektre
'putpixel()' не является стандартной функцией C; вам, возможно, нужно четко указать инструментарий и библиотеку, которую вы используете. Используете ли вы подлинную библиотеку BGI в 16-битном компиляторе Borland (кажется маловероятным) или вы используете эмуляцию Win32 Win32? В любом случае это будет относительно медленным, WinBGIm - это не более чем обтекатель API BGI для Win32 GDI под капотом. – Clifford