Closed bizehao closed 1 year ago
既然用了DirectX那肯定是整个一起刷新啊,2022年局部刷新已经没有意义了。
GacUI具体的实现,是IGraphicsElement
会在被通知修改的时候做一下标记(譬如颜色大小文字什么的),所以界面需要变化就一定会刷新,没有变化他就不刷新了。
但是你可以手动触发刷新,就像GacUI_Windows/Direct2DClock
这个demo做的这样,在GlobalTimer
函数里面调用this->GetRelatedControlHost()->GetGraphicsHost()->RequestRender()
,就会然他每一帧都刷新。你也可以在其他时候调用,一般都是有自绘的部分,用了GuiDirect2DElement
或者GuiGDIElement
,那GacUI就不知道什么时候需要刷新了。
是有事件发生,自绘这块就有可能被重绘。好的。
嗯,在列表上做鼠标动作的时候,皮肤会做出相应,譬如说变颜色啦,这个时候就会修改某个IGraphicsElement
的属性,于是就重绘了。
你这是在做播放器吗?
是的
那界面中存在动画的话,可能整个界面都会在不停地刷新
是的,不刷新怎么让动画跑起来呢?
测了下,确实,整页刷也并不耗时
是整个界面都是整体刷的还是只有自定义控件画布收到任何事件都会刷.
目前我的左边有个列表 右边是自定义控件, 只要我的鼠标在左边列表上划过或者点击后者滑动条滚动, 都会触发右边的自定义控件的刷新,