# 【Update.dll】辅助动画效果的实现 - Rainmeter插件与测试 - 雨滴社区 - Powered by Discuz!
 找回密码
 点击注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 24277|回复: 120

[插件与脚本] 【Update.dll】辅助动画效果的实现

  [复制链接]

签到天数: 78 天

[LV.6]常住居民II

发表于 2014-7-19 11:39:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?点击注册

x
本帖最后由 suixin812 于 2019-11-3 23:19 编辑

2019年11月更新:

这个插件该废弃了。
现在Rainmeter提供更好的ActionTimer.dll来实现动画,
以及专门的!Delay指令来实现延时执行命令。



---------------------------------------------------------------------
原帖内容如下:


update.gif

众所周知,任何一个动画效果,无论是平移还是渐隐,都需要10~100ms的更新频率才能流畅显示。
而这就需要设置皮肤的全局更新频率为10~100ms,但这会占用大量的系统资源。
虽然我们可以通过使用UpdateDivider来缓解这一问题,在动画结束后的静默期间调低Meter和Measure的更新频率,
但对于复杂的皮肤或者有大量图像的皮肤来说,这样仍然比较耗费系统资源。

前面提到UpdateDivider可以使皮肤局部的更新频率低于全局更新频率
((局部)Update x UpdateDivider > Update(全局))
那我们可不可以类似的使局部更新比全局更新更频繁呢?
((局部)Update / UpdateMutiplier < Update(全局))
来自Rainmeter开发团队的回答是:少年你想多了!


按照开发团队的说法,本来Rainmeter皮肤的动画效果的实现应该由一类专门的Meter实现,
这类Meter有独立于全局更新之外的更新。
(很可能是指[Rainmeter]节点下的TransitionUpdate,目前只有Bitmap类Meter使用这个选项)


根据这个想法,Update.dll通过创建一个独立的线程来实现独立于皮肤全局更新之外的更新。


假设在一个Update=1000的皮肤中有一个UpdateDivider=1的Meter,
当Update.dll设置独立的更新为Update=100,且更新这个Meter时,
每过 2 秒,
Meter被全局Update更新 2 次,
被插件的Update更新20次。

Update.dll及其示例皮肤_1.0.0 (2014_7_19).rmskin (40 KB, 下载次数: 189, 售价: 1 点活跃值) Update源代码.txt (4.33 KB, 下载次数: 96)

update.jpg

评分

参与人数 3心动值 +2 活跃值 +14 技术值 +2 收起 理由
顾曲 + 1 童鞋我要表扬你( &amp;#65417;^ω^)&amp;#65417;
萝莉头 + 1 + 10 + 1 我太喜欢这个资源啦(ノ°ο°)ノ
语笑嫣然 + 1 + 3 + 1 我太喜欢这个资源啦(ノ°ο°)ノ

查看全部评分

本帖被以下淘专辑推荐:

回复

使用道具 举报

签到天数: 1 天

[LV.1]初来乍到

发表于 2022-6-12 00:40:27 | 显示全部楼层
哇好好用
回复

使用道具 举报

签到天数: 10 天

[LV.3]偶尔看看II

发表于 2022-3-6 14:45:34 | 显示全部楼层
谢谢分享。。。。
回复

使用道具 举报

签到天数: 12 天

[LV.3]偶尔看看II

发表于 2022-2-24 10:40:05 | 显示全部楼层
感谢分享!
回复

使用道具 举报

签到天数: 190 天

[LV.7]常住居民III

发表于 2021-7-6 23:28:53 | 显示全部楼层
不知道干嘛的
回复

使用道具 举报

签到天数: 466 天

[LV.9]以坛为家II

发表于 2020-10-28 10:54:05 | 显示全部楼层
emmmmmmmm
回复

使用道具 举报

签到天数: 1901 天

[LV.Master]伴坛终老

发表于 2019-11-25 17:24:08 | 显示全部楼层
作者好 我有个问题:
官方给出的ActionTimer插件,其文档介绍时特别说明:“ActionTimer does not support, and should not be used, to do anything "endless" or otherwise of a very long duration combined with a very rapid update.”即不希望用户使用该插件给皮肤做长期性性的高频率刷新。请问你的这个插件支持长期运行吗?
回复

使用道具 举报

签到天数: 2 天

[LV.1]初来乍到

发表于 2019-11-3 19:12:55 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

签到天数: 59 天

[LV.5]常住居民I

发表于 2019-7-18 08:01:58 | 显示全部楼层
很不错,研究研究
回复

使用道具 举报

签到天数: 59 天

[LV.5]常住居民I

发表于 2019-7-17 14:52:31 | 显示全部楼层
不错,学习一下
回复

使用道具 举报

该用户从未签到

发表于 2018-8-15 00:35:28 | 显示全部楼层
但这会占用大量的系统资源
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点击注册

本版积分规则

快速回复 返回顶部 返回列表