再来上荣耀的 OS Turbo
本来Linux电脑端也不杀后台呀
本来Linux电脑端也不杀后台呀
除了Android以外的所有Linux发行版不杀后台,代价就是卡顿
Android也是Linux发行版,但是Android为了保持手机的流畅运行,会杀后台
除了Android以外的所有Linux发行版不杀后台,代价就是卡顿
Android也是Linux发行版,但是Android为了保持手机的流畅运行,会杀后台
杀后台和电脑使用矛盾
操作系统为了让你能流畅聊QQ,把后台正在导出片子的达芬奇杀了?打了盘游戏发现后台挂着的下载被系统冻结了?
除非把使用习惯从多任务改成手机的单任务,否则杀后台没意义
调度调优有必要,但是杀进程就是和正常使用作对
Android之所以会杀后台:
1、Android刚出来时手机内存都只有512m,最大1G已是高端机皇了,所以要杀应用,这是历史留下的。pc很早的内存就已有4G,现在一般都16G,2022年的手机8G也不多吧。
2、Android的app动不动就吃掉一两个G内存,这既是历史的问题,也是Android开发肆无忌惮的原因,历史问题是早期的Android app都是java开发并以java虚拟机运行的,java虚拟机运行一个app需要的内存是C开发程序的5~10倍以上,就算是现在Android的app会编译成机器码执行,但还是jit加速的(速度远远落于C,内存大大多余C),linux 桌面很少有java程序,linux 桌面很多程序用的内存不超过100m的,就算是大型的程序也是用200m左右。开发者肆无忌惮的原因是,pc的程序由于传统都是偏向计算、办公等,效率比较高,比较专业,除了服务器端的jee(又是java),很少用内存几个G的,Android早期都偏向个人应用,开发比较不负责任(动不动占者手机资源),个人应用不会半夜叫开发者来骂你一顿,给我马上修复,企业用户会,我亲身体会,半夜3点你都必须要去(不用觉的我可怜,有钱收的,而且非常可观,不过客户的老总骂人凶是真的)。所以pc开100个程序内存一般不超出3G,Android跑4个app内存已没有了。
3、pc屏幕比较大,而且是鼠标操作,操作方便,设计就是不杀程序,你可以一直打开程序,直到内存不够,由用户自己去选择关闭那些不需要使用的程序。Android的多应用切换不方便,因为每个应用都是最大化屏幕的,你只管打开,不需要你关闭(离开当前界面去关闭其他应用太不方便),自动帮你关闭。
4、你要多了解linux内核开发那帮家伙,他们的智商非常高的,“不公平调度机制“在linux 1.0就有了,只不过名称不叫“不公平调度机制“,人家叫 抢占式多任务,抢占式多任务从linux 1.0到6.0一直不断改进中。手机的linux内核是从pc linux内核裁剪出来的,手机这帮人认为在手机不需要 抢占式多任务 这么先进复杂的任务调度,为了减少内核大小故意将 抢占式多任务 裁剪掉的。抢占式多任务 比 “不公平调度机制“ 先进得多,你想想吧,服务器一般都是运行几万以上线程任务的,几十万连上服务器的游戏都不掉线呢,“不公平调度机制“算个屁。
5、linux的桌面之所以感觉比较卡,1、linux的图形系统确实不咋的,Android的2d、3d比inux的图形系统效率好的多,Android的设计者一开始就对linux的图形系统不感冒;2、Android的显卡驱动都是硬件商和手机厂商一起精心打磨的,linux的驱动只能说,呵呵两字,没有利益驱动,没有专职工程师。
结论是pc不需要杀后台,linux的桌面感觉卡,跟linux的图形系统和驱动有关,与 “不公平调度机制”没多大关系,目前linux桌面与ui有关的线程在抢占式多任务处于比较高的优先级。
Android之所以会杀后台:
1、Android刚出来时手机内存都只有512m,最大1G已是高端机皇了,所以要杀应用,这是历史留下的。pc很早的内存就已有4G,现在一般都16G,2022年的手机8G也不多吧。
2、Android的app动不动就吃掉一两个G内存,这既是历史的问题,也是Android开发肆无忌惮的原因,历史问题是早期的Android app都是java开发并以java虚拟机运行的,java虚拟机运行一个app需要的内存是C开发程序的5~10倍以上,就算是现在Android的app会编译成机器码执行,但还是jit加速的(速度远远落于C,内存大大多余C),linux 桌面很少有java程序,linux 桌面很多程序用的内存不超过100m的,就算是大型的程序也是用200m左右。开发者肆无忌惮的原因是,pc的程序由于传统都是偏向计算、办公等,效率比较高,比较专业,除了服务器端的jee(又是java),很少用内存几个G的,Android早期都偏向个人应用,开发比较不负责任(动不动占者手机资源),个人应用不会半夜叫开发者来骂你一顿,给我马上修复,企业用户会,我亲身体会,半夜3点你都必须要去(不用觉的我可怜,有钱收的,而且非常可观,不过客户的老总骂人凶是真的)。所以pc开100个程序内存一般不超出3G,Android跑4个app内存已没有了。
3、pc屏幕比较大,而且是鼠标操作,操作方便,设计就是不杀程序,你可以一直打开程序,直到内存不够,由用户自己去选择关闭那些不需要使用的程序。Android的多应用切换不方便,因为每个应用都是最大化屏幕的,你只管打开,不需要你关闭(离开当前界面去关闭其他应用太不方便),自动帮你关闭。
4、你要多了解linux内核开发那帮家伙,他们的智商非常高的,“不公平调度机制“在linux 1.0就有了,只不过名称不叫“不公平调度机制“,人家叫 抢占式多任务,抢占式多任务从linux 1.0到6.0一直不断改进中。手机的linux内核是从pc linux内核裁剪出来的,手机这帮人认为在手机不需要 抢占式多任务 这么先进复杂的任务调度,为了减少内核大小故意将 抢占式多任务 裁剪掉的。抢占式多任务 比 “不公平调度机制“ 先进得多,你想想吧,服务器一般都是运行几万以上线程任务的,几十万连上服务器的游戏都不掉线呢,“不公平调度机制“算个屁。
5、linux的桌面之所以感觉比较卡,1、linux的图形系统确实不咋的,Android的2d、3d比inux的图形系统效率好的多,Android的设计者一开始就对linux的图形系统不感冒;2、Android的显卡驱动都是硬件商和手机厂商一起精心打磨的,linux的驱动只能说,呵呵两字,没有利益驱动,没有专职工程师。
结论是pc不需要杀后台,linux的桌面感觉卡,跟linux的图形系统和驱动有关,与 “不公平调度机制”没多大关系,目前linux桌面与ui有关的线程在抢占式多任务处于比较高的优先级。
某手机在开发者模式开启虚拟内存后运存会变成20G

nice等级,基于linux的任何发行版都是这个方案,包括android
linux的图形系统api、2d api、3d api、qt、gtk都是不同的团队设计的,配合在一起能运行就已是奇迹了,但Android、ios、mac os、windows,都是由同一个团队规划、设计的图形系统,linux的图形系统天生比较混乱。
苹果的硬件、软件都是自己开发的,驱动肯定好,windows的驱动都是硬件商优先提供的,投入的资源也不一样,linux的驱动是企业富有余力时才能提供的,或者由社区逆向工程写出来的。
gui的性能十分复杂,甚至超出一般开发者的能力范围之外,一般商业开发都由开发平台提供专业的分析工具(如下图的网页分析工具),分析应用的性能和体验在那里出问题了,针对这些问题进行修正,对于gui的性能和体验有巨大的提升。关于这些工具例如:flutter有专门的,Android studio有专门的,微软有自己专门的。但,开源社区有个特点:1、不喜欢单元测试,2、不喜欢IDE,用vim才是高手,3、不喜欢专业的分析工具,开源开发平台很少提供这类工具的,造成开源社区一直没对gui进行有效的优化(我知道开源社区的开发者很聪明,他们也做很多优化,但都是凭感觉优化,不是靠数据来优化,所以不能做到最有效的优化),造成用户感觉性能不好。

Android之所以会杀后台:
1、Android刚出来时手机内存都只有512m,最大1G已是高端机皇了,所以要杀应用,这是历史留下的。pc很早的内存就已有4G,现在一般都16G,2022年的手机8G也不多吧。
2、Android的app动不动就吃掉一两个G内存,这既是历史的问题,也是Android开发肆无忌惮的原因,历史问题是早期的Android app都是java开发并以java虚拟机运行的,java虚拟机运行一个app需要的内存是C开发程序的5~10倍以上,就算是现在Android的app会编译成机器码执行,但还是jit加速的(速度远远落于C,内存大大多余C),linux 桌面很少有java程序,linux 桌面很多程序用的内存不超过100m的,就算是大型的程序也是用200m左右。开发者肆无忌惮的原因是,pc的程序由于传统都是偏向计算、办公等,效率比较高,比较专业,除了服务器端的jee(又是java),很少用内存几个G的,Android早期都偏向个人应用,开发比较不负责任(动不动占者手机资源),个人应用不会半夜叫开发者来骂你一顿,给我马上修复,企业用户会,我亲身体会,半夜3点你都必须要去(不用觉的我可怜,有钱收的,而且非常可观,不过客户的老总骂人凶是真的)。所以pc开100个程序内存一般不超出3G,Android跑4个app内存已没有了。
3、pc屏幕比较大,而且是鼠标操作,操作方便,设计就是不杀程序,你可以一直打开程序,直到内存不够,由用户自己去选择关闭那些不需要使用的程序。Android的多应用切换不方便,因为每个应用都是最大化屏幕的,你只管打开,不需要你关闭(离开当前界面去关闭其他应用太不方便),自动帮你关闭。
4、你要多了解linux内核开发那帮家伙,他们的智商非常高的,“不公平调度机制“在linux 1.0就有了,只不过名称不叫“不公平调度机制“,人家叫 抢占式多任务,抢占式多任务从linux 1.0到6.0一直不断改进中。手机的linux内核是从pc linux内核裁剪出来的,手机这帮人认为在手机不需要 抢占式多任务 这么先进复杂的任务调度,为了减少内核大小故意将 抢占式多任务 裁剪掉的。抢占式多任务 比 “不公平调度机制“ 先进得多,你想想吧,服务器一般都是运行几万以上线程任务的,几十万连上服务器的游戏都不掉线呢,“不公平调度机制“算个屁。
5、linux的桌面之所以感觉比较卡,1、linux的图形系统确实不咋的,Android的2d、3d比inux的图形系统效率好的多,Android的设计者一开始就对linux的图形系统不感冒;2、Android的显卡驱动都是硬件商和手机厂商一起精心打磨的,linux的驱动只能说,呵呵两字,没有利益驱动,没有专职工程师。
结论是pc不需要杀后台,linux的桌面感觉卡,跟linux的图形系统和驱动有关,与 “不公平调度机制”没多大关系,目前linux桌面与ui有关的线程在抢占式多任务处于比较高的优先级。
挺赞同的,假如国内的显卡厂商像摩尔线程这种公司,能和deepin/uos合作一下,深度优化一下就好了😂 ,不过这个也是涉及钱和利益的关系
Deepin,或者其他Linux发行版的卡顿一般不是因为内存问题吧
Deepin,或者其他Linux发行版的卡顿一般不是因为内存问题吧
没错,非常复杂,如果机器不是很旧,多半跟硬件无关,也不能怪谁,从底层到具体应用上层都可以优化,这方面确实不如商业公司做到好。
我再举个例子,我记得gnome在2018、2019年将重点放在性能、体验优化上,那是gnome社区立项的,没有改变任何底层图形系统,连gtk也没改,仅仅是应用本身优化就获得性能体验巨大提升,是肉眼可见的提升,我当时还在用debian和gnome 3,这个是可以查证,有发行记录的。
在商业项目,有时候优化是无止境的,下面是vscode的一个很小的优化,你仔细看完文档,你会感叹:这么细微的用户体验都优化,真是绝了,但这就是钱发挥的作用
这段文字的信息量很大,你不要看具体优化了什么,要看优化的依据和为什么优化这里,1、为了一个项目开发了与项目功能无关的工具,这些工具能计算、收集自己软件的每个函数、每个动作的各种数据,我没说错,这些数据不是程序员凭空想象出来的,是工具统计出来的,2、项目经理会根据这些数据,定期进行性能回归测试,然后安排优化计划。
Engineering
Optimizing for input latency
As VS Code has grown in size, so has the amount of activity when a keystroke is pressed. This iteration we stepped back and did a thorough investigation into what exactly happens when you type in the editor and what can we defer until after the keystroke is rendered on screen. The main outcomes of this exploration were:
Several changes were made to defer as much work as possible until after a keystroke in the editor has been rendered on screen. A rough estimate of the impact of this is a ~15% reduction in input latency when IntelliSense is not showing, and an even higher reduction when IntelliSense is being refiltered.
We now have more refined techniques for manually measuring input latency and optimizing at this sub-millisecond* level.
There is a work-in-progress change that will help us track and report samples of input latency. This will give us some concrete numbers to maintain and improve against.
This is just the beginning of this effort and we have more changes that should land next release.
- These numbers are very dependent upon the hardware that is used to test. A 0.5-ms improvement on powerful hardware may end up being 2ms on more average hardware.
没错,非常复杂,如果机器不是很旧,多半跟硬件无关,也不能怪谁,从底层到具体应用上层都可以优化,这方面确实不如商业公司做到好。
我再举个例子,我记得gnome在2018、2019年将重点放在性能、体验优化上,那是gnome社区立项的,没有改变任何底层图形系统,连gtk也没改,仅仅是应用本身优化就获得性能体验巨大提升,是肉眼可见的提升,我当时还在用debian和gnome 3,这个是可以查证,有发行记录的。
在商业项目,有时候优化是无止境的,下面是vscode的一个很小的优化,你仔细看完文档,你会感叹:这么细微的用户体验都优化,真是绝了,但这就是钱发挥的作用
这段文字的信息量很大,你不要看具体优化了什么,要看优化的依据和为什么优化这里,1、为了一个项目开发了与项目功能无关的工具,这些工具能计算、收集自己软件的每个函数、每个动作的各种数据,我没说错,这些数据不是程序员凭空想象出来的,是工具统计出来的,2、项目经理会根据这些数据,定期进行性能回归测试,然后安排优化计划。
Engineering
Optimizing for input latency
As VS Code has grown in size, so has the amount of activity when a keystroke is pressed. This iteration we stepped back and did a thorough investigation into what exactly happens when you type in the editor and what can we defer until after the keystroke is rendered on screen. The main outcomes of this exploration were:
Several changes were made to defer as much work as possible until after a keystroke in the editor has been rendered on screen. A rough estimate of the impact of this is a ~15% reduction in input latency when IntelliSense is not showing, and an even higher reduction when IntelliSense is being refiltered.
We now have more refined techniques for manually measuring input latency and optimizing at this sub-millisecond* level.
There is a work-in-progress change that will help us track and report samples of input latency. This will give us some concrete numbers to maintain and improve against.
This is just the beginning of this effort and we have more changes that should land next release.
- These numbers are very dependent upon the hardware that is used to test. A 0.5-ms improvement on powerful hardware may end up being 2ms on more average hardware.
这个倒是有印象, 18年的时候我在我的老电脑上用ubuntu非常卡。特别是打开启动器那个动画非常掉帧。当时好像流行重量级桌面、轻量级桌面这个说法。
20年再次用的时候感觉流畅了许多。好像也不流行这种说法了。
这个倒是有印象, 18年的时候我在我的老电脑上用ubuntu非常卡。特别是打开启动器那个动画非常掉帧。当时好像流行重量级桌面、轻量级桌面这个说法。
20年再次用的时候感觉流畅了许多。好像也不流行这种说法了。

GNOME 3.X有很多版本的GNOME原生启动器打开时的动画有点像macOS的神奇效果,示意图是根据我第一次使用GNOME桌面的回忆画的

因为一屏20图标的动画路径都要被电脑计算在“魔灯效果”里并呈现出来,计算量大,所有会卡
其实是20个图标的位置,运动速度,动作路径,动画时间这些参数有一定规律,会看到“魔灯效果”
Popular Events
More

中文 
VIVO在发布Origin OS 3时展示了他们的“不公平调度机制”,经过测试,借助“不公平调度机制”和“原地复活机制”可以让手机同时打开20个应用不杀后台
Linux的存在就是为了实现“公平调度机制”
请问,假设Deepin V23能用上VIVO的“不公平调度机制”和“原地复活机制”会产生什么影响?
论坛上有很多人说升级Deepin 20.7会更卡,VIVO这两个机制能否解决问题?