Forwarded from Catten Linger
也想看看 FirefoxOS 的,不过以我能力很难在这种一大坨的 codebase 里跑来跑去
Forwarded from Catten Linger
我在硬件上做 GUI 框架的思路可能比较原始,就一直想在真正要自己做之前找些简单先进的参考
Forwarded from Catten Linger
现在就实验性地做了个简单的图形缓冲区,多个缓冲区组成 layout 然后再合成真实的帧,最后画到屏幕上去。
Forwarded from Catten Linger
为了提高效率,简单地做了个在每个 layout 上会不断 enlarge 的 dirty rect ,每次扫描完所有 layout 的改动就清零
Forwarded from Catten Linger
alpha 合成是纯 cpu 的,合成的时候选择是直接覆盖还是有透明通道叠加这样
Forwarded from Catten Linger
兴趣使然,给一个年代久远的小屏幕做个控制程序。
这个小屏幕走 usb 驱动的,一秒两帧。。
这个小屏幕走 usb 驱动的,一秒两帧。。
Forwarded from Ghost Flying
Android / chromium / flutter 反正都用的 skia
Forwarded from Ghost Flying
skia 最近把 metal 也搞好了,已经支持了 OpenGL / metal / vulkan 三个后端
Forwarded from Ghost Flying
cc 实际上每次都是全屏重绘,只是页面整体被切分为不同的 layer 和 block,如果对应的 layer 和 block 没有改变就不重复进行光栅化而已
(这个东西我好像在.net文档里看见过)
注:( Google Skia: https://skia.org/index_zh )
B:不妨看看 kwin 、i915 驱动和 Kernel DRM 实现
还有 OpenGL Render 的部分
我想是最原始的设计,同大小的 Array 定期刷新
但是 4kb RAM 爆了 emmm
然后效率奇差,但 Composition 的确就是这种做法吧
那叫硬件重绘 性能差的时候会出现问题 ...
就 Full Screen Repaint 能保证一切安好 性能差但不会撕裂
A:(了解了…我一直以为这样会很慢…)
注:( Google Skia: https://skia.org/index_zh )
B:不妨看看 kwin 、i915 驱动和 Kernel DRM 实现
还有 OpenGL Render 的部分
我想是最原始的设计,同大小的 Array 定期刷新
但是 4kb RAM 爆了 emmm
然后效率奇差,但 Composition 的确就是这种做法吧
那叫硬件重绘 性能差的时候会出现问题 ...
就 Full Screen Repaint 能保证一切安好 性能差但不会撕裂
A:(了解了…我一直以为这样会很慢…)