UI
panzhiyi3
这个作者很懒,什么都没留下…
展开
-
关于duilib在Layered Window下绘制文字不正常的BUG
最近在做一个小玩具,C++上面实在是没什么好用的或者轻量级的开源DUI库了,duilib算是比较出名的一个,不过这玩意好几年没人维护,之前据说pc微信也用过这个开发,所以有意试试。用了一段时间感觉,这玩意的代码结构确实够旧的,而且使用中也存在不合理的地方,比如所有的窗口都需要一个CPaintManagerUI来管理,这就很奇怪,用过Qt,用过游戏引擎里的UI库,也用过腾讯内部的GF和项目组...原创 2018-09-08 18:37:02 · 1001 阅读 · 0 评论 -
CEF与Off-Screen Rendering与Transparent Background
cef研究了一天,发现这个要用起来比想象中的复杂很多,特别你得吃透官方demo里的cefclient,大而全,要拆出来作为自己的界面前端库来用需要一番功夫,然而cefsimple又太simple,试了下对cefsimple动手改成Off-Screen Rendering,会在CefBrowserHost::CreateBrowser{ //... int _retv...原创 2018-09-08 18:51:32 · 4054 阅读 · 5 评论 -
研究了几天CEF的感受
cef搞到现在,用已经勉强用上了,性能也很好,但是最大的问题是js在render进程里跑,这一点和Electron是一样的,也是chrome这类浏览器标准做法,其实是不太适合纯pc客户端应用的,因为会很麻烦!js和主进程交互还是得依靠cef提供的IPC机制,对于那种只是交互+偶尔调用私有功能的app来说没啥问题,要经常调用系统和自己的api的还是算了,比如XXX实时系统之类的。我预感要是以后w...原创 2018-09-14 16:23:27 · 8127 阅读 · 4 评论 -
CEF在离屏渲染模式下没有tooltips?tooltips创建之后不显示?我以为我又遇到BUG了
这次我们在CEF显示的界面里加上了tooltips,也就是html的title属性,结果发现这玩意竟然不会显示,一开始我怀疑是自己的代码问题,很快我又去cefclient这个demo里测试了一下,确认了我的怀疑,只要打开了--off-screen-rendering-enabled,就会导致tooltips无法显示。我当然认为这是一个CEF的bug,于是去反馈issue,但是我同时也做了一...原创 2019-01-09 15:31:27 · 1221 阅读 · 1 评论 -
Direct3D绘制透明纹理有黑边,alpha预乘来解决
这是前一段时间遇到的问题了,最近想起来应该写一写。alpha预乘,关键词是Alpha Premultiplied,这个事情我之前陆续了解过不少,只是没想到在D3D里面实际遇到了一次。文末有相关的一些资料可以参考。 如果你有贴图是带alpha通道的,那么他们互相blend的时候很有可能出现这样的情况,详细成因展开就太多了,可以参考末尾的资料等。这个是典型的没做alpha预乘导致...原创 2019-01-09 15:37:23 · 1778 阅读 · 0 评论 -
一个Layered Window从支持多屏到高DPI开始,遭遇的性能雪崩及其优化历程
背景一个Layered Window,核心是DX实现渲染,通过UpdateLayeredWindowIndirect更新到窗口DC上,窗口表现形式大概是屏幕右侧有一个占屏幕1/3面积的可交互区域,该区域可被用户拖动和缩放,FPS要求是30+起因有一天有用户反馈多屏下有问题,东西拖不过去,我看了下,确实,很快就猜到了原因,一开始我们就没打算支持多屏(因为工期关系),所以在创建窗口时...原创 2019-03-26 20:46:12 · 931 阅读 · 0 评论