我正在编写一个简单的 3D 渲染引擎。
我的 3D 处理的最终结果是像素数据。接下来我需要用 GDI+ 在屏幕上显示它。
我正在使用 WinForms 和 Visual Basic。我直接在表单的 ClientRectangle 上绘图。
我有一些疑问。
在我处理一个像素之后,我应该先将像素数据写入缓冲区,而不是将每个像素单独发送到 GDI+?
- 如果是这样,我应该一次缓冲多少屏幕?全屏,半屏,四分之一,八分之一?我认为这里可能存在 RAM 使用/性能权衡。
- 像素缓冲区的最佳数据结构是什么?
- 我使用哪个 GDI+ 命令来渲染像素缓冲区(或单个像素)?是否可以避免创建位图作为中间步骤并将像素数据直接发送到屏幕?
我预计的最大屏幕尺寸为 1600x1200。RAM 可能低至 1GB。
谢谢。