文章首发于微信公众号「蚂蚁原图」,欢迎大家关注。打开微信,使用 “搜一搜”,搜索「蚂蚁原图」,即可关注。
今天给大家推荐的项目是 「 intellij-media-player 」,这个项目作者的目的是摸鱼,能够在上班的时候看视频,而且不会被老板发现。作者作为Java开发工程师,开发了intellij idea 的插件,而且还适配了全家桶。真的是摸鱼必备。
插件的灵感:
作者去年在新电脑上看视频的时候,在触摸板上做了一个缩放的手势把程序列表给调用出来了。效果如图所示:
作者那时候是纯黑色的壁纸,再加上视频也刚好播放到白色衣服人物在黑夜中的画面,这就使得画面中的人物变得立体起来了!甚至有一种身临其境的感觉!
作者当时满脑子觉得这个效果也太赞了吧,就像在播放透明背景的视频一样。作者就开始捣鼓怎么给IDE增加这样的背景,作者尝试之后发现这个功能非常简单,只需要设置一个代码就能修改背景图片了。
PropertiesComponent.getInstance().setValue("idea.background.editor", "image path")PropertiesComponent.getInstance().setValue("idea.background.editor", "image path")
于是作者就觉得只是设置一个图片,好像不太过瘾,尝试使用视频来做这个背景效果。尝试过程也几经曲折,经过几轮的优化,最后得到了一个比较满意的结果。
目前使用的优化方案有:
-
最大程度复用临时对象(这个不用说);
-
开启硬件加速(网上搜到的);
-
使用VolatileImage代替BufferedImage来绘制(这个是在IDEA源码里偷学到的);
-
干掉了swing原来的RepaintManager,替换成自己实现的。自己实现的RepaintManager会过滤掉重复绘制的区域,也就是在同一时间段内,同一区域只会绘制一次(独家!根据源码总结出来的,网上绝对没有);
-
重绘画面时绕过AWT的消息队列,不参与排队,直接交给RepaintManager处理(独家!根据源码总结出来的,网上绝对没有)。优化前每次重绘都要排2次队;
经过优化之后,现在已经可以轻松播放1080p的视频,4k25帧的也能hold住,不过4k60帧的就比较吃力了,配置高点的电脑应该可以。我已经尽力了。。。
那我们要如何安装呢:
由于目前项目没有上传到intellij 的插件仓库,所以现在只支持离线安装,直接到github 项目库中下载 intellij-media-player.zip 压缩包,然后拖到IDE窗口中重启就行了。
温馨提示:
如果在播放视频中领导正在向你走来😰 请不要犹豫,马上按下组合键CTRL + ALT + SHIFT + Z 视频会立即停止并隐藏相关控制按钮😃
效果图:
开源项目地址:https://github.com/wuyr/intellij-media-player
开源项目作者:wuyr
微信公众号:「蚂蚁原图」,值得你关注,每天都分享开源项目,挖掘开源的价值。
文章首发于微信公众号「蚂蚁原图」,欢迎大家关注。打开微信,使用 “搜一搜”,搜索「蚂蚁原图」,即可关注。关注后,每天都会为您推送我们精心挑选的优质开源项目。