实时绘制

按照维基的说法,实时绘制性能的衡量标准为每秒所能绘制的帧数即FPS

简单来说呢实时绘制是聚焦于生成和分析图像

由于实时系统有硬实时,firmed实时,软实时之分,而其与高性能计算的区别在于其对时间的严格要求,即只要有一次超时即会酿成严重的后果,而高性能计算的宗旨在于尽可能地快,并没有时间约定。虽然实时计算也需要快,但其强调的是在多任务系统中也需要保证在约定时间内完成相应操作并得出结果。

对于应用的GUI绘制而言,需要做到的是,实时绘制出来的一系列图像需要产生画面动起来了的感觉,绘制的技术有比如:ray-tracing(结尾有介绍) 和 rasterizing(像素网格位图技术)

相较于离线的绘制系统(也即是非实时图像系统)一般依赖于ray-tracing技术,可以耗费数小时甚至数天,但在实时绘制上,每张图像可能只有不到1/30秒的时间,所以实时绘制更多依赖于z-buffering triangle rasterization, 简单来说这种技术里面每个对象都解构成单独的三角形,然后这些三角形再一个一个绘制到屏幕上。

实时绘制的目标是在特定硬件条件上用尽可能少的性能损耗得到尽可能高质量的绘制,实时绘制成为可能主要是由于在特定硬件即GPU的进步所完成的,GPU可以每帧处理多达百万的三角,而且每个三角形内部支持数百万甚至数十亿个像素,但实时绘制的画质仍然与离线绘制存在很大的差距。

实时绘制的需求催生于用户操控界面显示的场景,而非电影电视等导演所操控的场景,在这些非实时场景中,他们可以花费任意长的时间来完成画面,但用户所掌控的场景需要在用户的操作之后马上响应以正确的显示图像,实时绘制由此而来。

ray-tracing

ray-tracing是一种图形绘制技术,它的做法是通过追踪光线从图像中各像素穿过的路径,模拟其与各可见物体产生的光线效果。这种技术通常能比扫描绘制技术生成更真实的画面,但需要更多的计算量。这也使得它适用于提前生产画面的应用,比如静态图片,电影及电视效果等,而对于实时性能要求高的视频游戏等实时场景 则并不适合。ray-tracing可以实现的效果包括反射,折射,漫射,散射等现象

它根据想象中的观察者的视角观察光线在各个像素中的表现,计算各可见对象的颜色。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 跑步运动软件最基本的功能之一,就是对运动中的用户进行实时定位,并绘制出运动路径。本文主要内容,就是用高德的SDK实...
    msq3阅读 12,448评论 10 24
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,323评论 25 709
  • 昨天大醉了一场,印象中好像做了昨天一直想做的事情,然而并没有什么用,只换来了早上一句不痛不痒的问候,有时候知道这样...
    初期未忘阅读 1,382评论 0 0
  • 学校放寒假了,每年我跟爸爸妈妈都要回老家兴宁过年。广东省梅州兴宁市是客家人聚居地。正月的春节期间有一个独特的节...
    琳宝珠阅读 3,318评论 0 0
  • 我总是 把一些事情 交给一些 不切实际的假设 到头来 催生了 更多的假设
    范冬里阅读 1,234评论 0 0

友情链接更多精彩内容