快速像素绘图库

我的应用程序以每个像素的方式产生一个“动画”,所以我需要高效地绘制它们。 我尝试过不同的策略/库,但效果不理想,特别是在更高分辨率下。

以下是我所尝试的:

  • SDL :可以,但很慢;

  • OpenGL :低效的像素操作;

  • xlib :更好,但仍然太慢;

  • svgalibdirectfb ,(其他帧缓冲区实现):它们看起来很完美,但对于为最终用户进行设置而言绝对是太棘手。

  • (注意:我可能对这些断言是错误的,如果是这样,请纠正我)

    我需要的是以下内容:

  • 性能可与OpenGL渲染相媲美的快速像素绘制;

  • 它应该在Linux上工作(作为奖励功能的跨平台);

  • 它应该支持双缓冲和垂直同步;

  • 它应该是便携式的,因为硬件方面的问题;

  • 它应该是开源的。

  • 你能给我一些启发/想法/建议吗?


    你的像素是稀疏还是密集的(例如位图)? 如果您要在像素之外创建密集的位图,那么另一种选择是将位图转换为OpenGL纹理,并使用OpenGL API以某种帧率渲染。

    基本问题是,不同硬件平台上的图形硬件会有很大差异。 您可以选择一个抽象层,这会降低速度,也可能更密切地针对目前不存在的图形硬件类型进行编码。


    我不完全确定你做错了什么,但可能是你一次一个像素写到显示器表面。

    不要这样做。

    取而代之的是,在主内存中以与要呈现的显示表面相同的格式创建呈现表面,然后在一次操作中将整个呈现的图像复制到显示器。 现代GPU的每笔交易非常缓慢,但可以在一次操作中快速移动大量数据。


    看起来你很迷惑窗口管理器(SDL和xlib)和渲染库(opengl)。

    只需选择一个窗口管理器(SDL,glut或xlib,如果你喜欢挑战),激活双缓冲模式,并确保你有直接渲染。

    你有什么样的图形卡? 它很可能会处理GPU上的像素。 查看如何在opengl中创建像素着色器。 像素着色器正在处理每个像素。

    链接地址: http://www.djcxy.com/p/45727.html

    上一篇: Fast pixel drawing library

    下一篇: How and/or why is merging in Git better than in SVN?