1.4. 桢缓存 The Frame Buffer

简介: 1.4. 桢缓存 The Frame Buffer OpenGL is an API for drawing graphics, and so the fundamental purpose for OpenGL is to transform data provided by an...

1.4. 桢缓存 The Frame Buffer


OpenGL is an API for drawing graphics, and so the fundamental purpose for OpenGL is to

transform data provided by an application into something that is visible on the display screen.

This processing is often referred to as RENDERING. Typically, this processing is accelerated by

specially designed hardware, but some or all operations of the OpenGL pipeline can be

performed by a software implementation running on the CPU. It is transparent to the user of

the OpenGL implementation how this division among the software and hardware is handled. The

important thing is that the results of rendering conform to the results defined by the OpenGL

specification.

The hardware that is dedicated to drawing graphics and maintaining the contents of the display

screen is often called the GRAPHICS ACCELERATOR. Graphics accelerators typically have a region of

memory that is dedicated to maintaining the contents of the display. Every visible picture

element (pixel) of the display is represented by one or more bytes of memory on the graphics

accelerator. A grayscale display might have a byte of memory to represent the gray level at

each pixel. A color display might have a byte of memory for each of red, green, and blue in

order to represent the color value for each pixel. This so-called DISPLAY MEMORY is scanned

(refreshed) a certain number of times per second in order to maintain a flicker-free

representation on the display. Graphics accelerators also typically have a region of memory

called OFFSCREEN MEMORY that is not displayable and is used to store things that aren't visible.

OpenGL assumes that allocation of display memory and offscreen memory is handled by the

window system. The window system decides which portions of memory may be accessed by

OpenGL and how these portions are structured. In each environment in which OpenGL is

supported, a small set of function calls tie OpenGL into that particular environment. In the

Microsoft Windows environment, this set of routines is called WGL (pronounced "wiggle"). In the

X Window System environment, this set of routines is called GLX. In the Macintosh

environment, this set of routines is called AGL. In each environment, this set of calls supports

such things as allocating and deallocating regions of graphics memory, allocating and

deallocating data structures called GRAPHICS CONTEXTS that maintain OpenGL state, selecting the

current graphics context, selecting the region of graphics memory in which to draw, and

synchronizing commands between OpenGL and the window system.

The region of graphics memory that is modified as a result of OpenGL rendering is called the

FRAME BUFFER. In a windowing system, the OpenGL notion of a frame buffer corresponds to a

window. Facilities in window-system-specific OpenGL routines let users select the frame buffer

characteristics for the window. The windowing system typically also clarifies how the OpenGL

frame buffer behaves when windows overlap. In a nonwindowed system, the OpenGL frame

buffer corresponds to the entire display.

A window that supports OpenGL rendering (i.e., a frame buffer) may consist of some

combination of the following:

目录
相关文章
|
缓存 关系型数据库 MySQL
Buffer Pool缓存页不够时,如何淘汰缓存?
执行CRUD都会将磁盘数据页加载到缓存页,那在加载数据到缓存页时,必然是要加载到空闲缓存页,所以必须要从free中找个空闲缓存页,然后把磁盘数据页加载到该空闲缓存页
113 0
|
2月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
78 6
|
16天前
|
缓存 NoSQL 关系型数据库
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
本文详解缓存雪崩、缓存穿透、缓存并发及缓存预热等问题,提供高可用解决方案,帮助你在大厂面试和实际工作中应对这些常见并发场景。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
|
17天前
|
存储 缓存 NoSQL
【赵渝强老师】基于Redis的旁路缓存架构
本文介绍了引入缓存后的系统架构,通过缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。文中提供了相关图片和视频讲解,并讨论了数据库读写分离、分库分表等方法来减轻数据库压力。同时,文章也指出了缓存可能带来的复杂度增加、成本提高和数据一致性问题。
【赵渝强老师】基于Redis的旁路缓存架构