怎样解决图片像素缩放导致的抖动问题?

如题,图片在缩放过程中会发生抖动现象,如下视频: 像素抖动问题.zip (153.5 KB)

已勾选 宏配置里面的 ENABLE_WEBGL_ANTIALIAS 为true

项目代码如下:https://cdn-applet.flash8f.com/pandaHomeLand/app/web_cn/test_file/pix_demo_20250926.zip

细线的缩放一直没有太好的解决方案,主要是你的UI下的坐标系由于缩放的存在,变换屏幕空间后不同缩放系数产生的浮点数装配片段时会阶段性差异,导致片段数量抖动。

这个效果有点没法接受哦,有什么曲线救国的方法吗?

fbkxr-cpeu6
+1,图片缩放后运动会有明显锯齿和像素抖动问题,真的让人非常难受,如果不缩小图片尺寸就不行吗?这样就会有两套资源,如果使用mipmaps之后会变糊,像这种基础显示问题真的很阻碍开发,


还有类似这种图片的采样模式黑边,这种东西改成point采样又会出现很多的锯齿

这种基础的东西真的很重要很重要啊!
@boyue

没有缩放的时候(scale=1),移动其坐标也会抖,这是什么原因

一样的原因,你所谓的scale并不是渲染用的scale

你的坐标传入后mvp矩阵乘完得到 会产生浮点数 然后光栅化装配片段就会出问题了

你这个和他不是一个问题,你这个更多是采样的问题。那个图片黑色的问题,是二次纹理过滤产生的。不过你俩这问题都和引擎无关 :rofl:换别的引擎也有这些个问题

和引擎无关吗? 那其他游戏是怎样解决或规避的?

我那张动图黑边闪烁的问题和楼主其实是同一个问题

额… 你们认为相同就相同吧 哈哈哈哈 反正我理解他那个UI是缩放导致片段的问题,你这个是片段上纹理采样的问题。 解决方法不大相同,但是原理确实可以理解为比较接近。 他那个可以考虑对UI空间做一些顶点处理规避,采样问题的话要在shader里处理一下,或者换下纹理过滤。

可否麻烦说详细一些,或者给一些参考资料,不太懂具体怎么做,谢谢 :joy:

对于细线,写个shader,把实际屏幕缓冲区大小,你的最小宽高显示像素穿进去,顶点着色里可以把宽度变换下,动态计算顶点位置,保证宽度基于屏幕空间小于一定值后保持不变。但是也只是在一定范围内能保证这个线能看得到,不会闪。

多谢大佬,还是不知道怎么搞,shader部分不熟悉我先学习下

求大佬继续指导