» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[其他] 现在psp的480*272的解析度已经属于“不堪入目”的程度了

引用:
原帖由 mieumieu 于 2012-7-28 21:51 发表
posted by wap, platform: Android
人们常说的psp的所谓噪点应该是指dithering,在16位色或更低的图像中,常用来创造更平滑的颜色过渡。psp也有很多游戏是用32位色的,那些游戏就看不到所谓噪点了。
其实就我看到的情况,有些PSP所谓的‘噪点现象’和早期PC与土星处理3D半透明时的stipple alpha产生的现象颇有些相似,比如falcom的碧之轨迹一开头的全屏薄雾效果就有这现象。这大概是一种PSP处理alpha混合的节约机能的做法,就是用一个固定的pattern(kernal大小好像是没超过4x4)进行低精度的alpha混合。当然这应该是一种可选择的形式,PSP当然也可以做全精度的alpha blending。
当然,对alpha降低精度采样的这个过程,其实和patterned dither也是大同小异的。应该可以算一种特殊的dither应用吧。不过patterned dither本来就是效果较差的一种dither形式。feedback-style(error diffusion)dither(主要就是floyd-steinberg及其衍生系)的效果就要好很多了,拿32bit->16bit来说,除非是那种典型的长条过渡色带(这种情况,即使用32bit但没经过dither处理也会出现banding现象)否则基本是看不出差别的。不过这种算法无法并行化,所以除了预处理的素材可以采用外,想实时使用的话,基本只能靠专用的硬件单元了。


TOP

引用:
原帖由 mieumieu 于 2012-7-29 21:31 发表
哈,我当年对这个的认识仅限于framebuffer砍半可以省内存上(PSP才2M显存啊,32bit framebuffer * 2 + z就占一大半了,更何况当时还要triple buffer),如果为了dithering再多浪费运算资源的话就不值了
现在似乎都 ...
dither的作用其实主要就是省空间(用在网络上就是省带宽),而且基本都是专门硬件实现(PS2有,但PSP还有没有输出端的dither硬件单元就不知道了),纯软件实时实现的,一般也都是使用简单的可以并行的算法,诸如ordered dither、patterned dither这种(硬件使用这些算法的也不少,那些反馈式算法,主要还是用在离线处理最多),否则即使现代的硬件,也难以撑起高清画面的dither运算量。
当然,就现在的情况(省空间和带宽不再是主要目的)来看,dither的用处主要就是为了‘视觉效果更准确’。毕竟现在很多图像运算都是浮点的,最典型的,比如颜色空间转换(YUV<->RGB)和图像拉伸。如果直接把浮点数round到byte,则有时就会出现banding现象,即使输出是24bitRGB也是一样。



TOP

发新话题
     
官方公众号及微博