Разница между DisplayContext, displaySurface и displayBuffer? - PullRequest
1 голос
/ 22 февраля 2011

Обычно работая с графикой и дисплеем, мы сталкиваемся с такими словами, как Displaybuffer, DisplaySurface & DisplayContext?Чем отличаются эти термины?

1 Ответ

3 голосов
/ 22 февраля 2011

Это зависит от системы, это общие термины и часто взаимозаменяемы. Но в целом

DisplaySurface - это поверхность, с которой вы будете выполнять операции, то есть рисовать линию, окружность и т. Д. Поверхность дисплея - это физическая поверхность экрана, на которой вы пишете.

Но, хотя во многих случаях вы будете писать на поверхности дисплея, у вас будет буфер дисплея, так что когда вы рисуете на поверхности, вы фактически рисуете в буфере дисплея так, чтобы пользователь не видел рисунок происходит, и когда вы закончите рисовать, вы переворачиваете буфер отображения на поверхность, чтобы рисунок появлялся мгновенно

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

...