正负归零宫永咲 正负归零宫永咲
关注数: 13 粉丝数: 298 发帖数: 14,263 关注贴吧数: 3
深夜水,So NVIDIA fuck you 感谢老黄让我体验了一把CentOS从入门到放弃之前服务器用Debian笔记本用某个基于bug的发行版,一点事都没有,真TM后悔几天前无聊想体验红帽系的发行版。 果断选择了CentOS,安装还是很成功的,第一次启动,nouveau error 嗯,这个很正常,应该说习以为常了,然后把nouveau驱动加入blacklist,安装编译环境,然后编译NVIDIA官网最新驱动安装。 虽然安装成功,而且在init 3也没啥问题,然而一进图形界面风扇就开始呼呼的转然后疯狂发热,不用想就知道是驱动问题....打开NVIDIA驱动设置,提示You do not appear to be using the NVIDIA X driver. Please edit your X configuration file (just run `nvidia-xconfig` as root), and restart the X server.谷歌了一下午无解,重新编译也无解,放弃。 接着安装bumblebee和bbswitch,手工配置文件来关闭独显,结果被驱动拒绝,果断放弃治疗,卸载驱动然后yum install kmod-nvidia。 提升内核版本过低,那就升级内核,然而在升级内核编译环境的时候报错,提示没有libpci.s o.3,于是找了半天,找到pciutils,编译出这个动态链接库,安装成功。然而编译环境还是死活安装不上,一直提示缺少这个动态链接库,这下好了,kmkd装不上,之前官网下载的闭源驱动也装不上,回滚内核的时候报了一大堆错,尝试startx,果然,已经进不了图形界面了。 然后我就打开Ubuntu,用diskpart删除了CentOS的分区,然后心中默念“so nvidia,fuck you”
漫谈操作系统与稳定性 首先对于我来说稳定性主要包含两方面,一个是程序设计的稳定性,比方说C语言内存泄漏问题,java的i/o流未及时关闭的问题都是造成不稳定的因素。 以前做acm特别考察时空复杂度,还特意做过把某些不稳定的算法改写成稳定的算法,例如快排(这里插一句,shellsort的效率比较高且稳定,推荐),还在读大学特别是软件工程专业的同学应该深有体会。 但对于普通用户而言,并不需要考虑这些东西。何为稳定?日常使用不出现差错即为稳定。这要求系统具备一定的容错力,从这点来看图形化操作系统都能满足这一要求,毕竟对于dos和linux来说命令的一个字母出错,都会造成无法运行或执行错误的命令。 那么我们日常碰到的bug,闪退又是怎么出现的呢? 对于程序设计者来说,堆栈溢出、调用错误的API都是很常见的错误,前者一般是新手所犯的错误,后者则普遍出现于一些毒瘤开发商(未能对新系统做出兼容性跟进),对于系统本身,则是诸如资源回收机制以及software environment的纠错能力。特别的,对于windows来说,由于必须保留大量的旧API或者进行模拟。 那么各大操作系统的稳定性如何呢? 理论上来说,闭源操作系统稳定性强于开源操作系统,但仅仅是理论。 windows显然不是一个稳定的操作系统,但无可厚非,从其兼容软件的时间跨度和面对的硬件种类来看微软已经做的很出色了。 android的发展史显然就是从不稳定到稳定,从不人性化到人性化。从贯穿整个dilvik的非常烂的gc能力以及闪存冗余回收(后来我们有了art和trim),早期安卓手机长时间不关机造成的卡顿大多来源于此。但为何安卓给人留下不稳定的印象呢?重要的一点在于硬件。比如普遍内存低于512m的时代,内存不足造成的闪退(swap da fa hao),还有著名的三星字库门。对于78来说,可能是把诸如刷框架等也算入了“日常”行为罢。android5.0是一个稳定的系统(内存泄漏就我所知在各大厂商放出的稳定版rom中已经没有了),但我不敢断言,因为开源性给了厂商很大的(负)优化空间。 自从ios8开放大量api之后,现已成为ibug9,这就不用我举例了吧,吧里可以说比比皆是,然而本人未做过ios开发(仅有的ios设备甚至没有越狱),因此无法究其根源。 wp用来打电话是一个稳定的系统。
为什么图形处理器对于日常很重要? 来自Google官方文档 -Beginning in Android 3.0 (API level 11), the Android 2D rendering pipeline supports hardware acceleration, meaning that all drawing operations that are performed on a View's canvas use the GPU. Because of the increased resources required to enable hardware acceleration, your app will consume more RAM. 硬件加速是什么大家都懂。但是有什么作用呢? -Hardware layers can deliver faster and smoother animations when your application is hardware accelerated. Running an animation at 60 frames per second is not always possible when animating complex views that issue a lot of drawing operations. This can be alleviated by using hardware layers to render the view to a hardware texture. The hardware texture can then be used to animate the view, eliminating the need for the view to constantly redraw itself when it is being animated. The view is not redrawn unless you change the view's properties, which calls invalidate(), or if you call invalidate() manually. If you are running an animation in your application and do not obtain the smooth results you want, consider enabling hardware layers on your animated views. 什么软件没有使用硬件加速? -在我的手机上,只有京东和麻雀-天極牌 为什么我们要避免过度绘制? -Avoid overdraw Do not draw too many layers on top of each other. Remove any views that are completely obscured by other opaque views on top of it. If you need to draw several layers blended on top of each other, consider merging them into a single layer. A good rule of thumb with current hardware is to not draw more than 2.5 times the number of pixels on screen per frame (transparent pixels in a bitmap count!). 常用的软件有哪些过度绘制了? -很多,比如贴吧,淘宝,新浪微博等。 对于过度绘制的软件,GPU的存在有无帮助? -这个问题其实根本不需要证伪,对于调用了硬件加速的软件肯定有帮助。对于UI组件,通常由CPU纹理化之后交由gpu进行resterization栅格化。 硬件方面,比如sgx系列的gpu支持延迟渲染,允许GPU在某些特定的场景下检查和处理重绘。
首页 1 2 3 4 5 6 下一页