由Windows保留在一种叫堆的内存块中,堆的英文为Heap。简单地说,堆是采用特殊机制管理的内存块。由Windows的一个系统内核User.exe管理的堆叫作User资源堆(User Resource Heap),由另一个系统内核Gdi.exe管理的堆叫作GDI资源堆(Graphical Device Interface Resource Heap,简称GDI Resource Heap),User资源堆和GDI资源堆合称为系统资源堆(System Resource Heap),习惯上就把它们叫作系统资源(System Resource)
系统资源的辩析
不要将系统资源和CPU资源(CPU使用率)相混淆,硬盘、光驱、软猫的数据处理、显卡的3D图像处理、声卡的3D音效处理占用的都是CPU时间(即消耗CPU资源),而不是系统资源,这些硬件设备的先进与否与占用系统资源的多少根本没有任何关系,可至今许多人还是将它们混为一谈。按习惯,谈到硬件的资源占用一般是指其CPU资源的占用,而软件的资源占用既包括CPU资源占用又包括系统资源(堆)占用,但计算机用户关心的一般是后者,因此谈到软件的资源占用时一般是指其对系统资源的占用。
这也解释了,无论客户的硬件配置如何,与软件运行占用的系统资源是无关的。SolidWorks无故退出和CPU占用率居高不下,不在于客户的内存大小,CPU频率高低等硬件配置
系统资源的作用
系统资源是用来跟踪应用程序运行而不是用来运行应用程序的,就像公路上车多车少,并不是车稍微多点就没有办法开车了。因此可以肯定地说,影响计算机系统性能的是计算机系统其他的因素,而绝不会是可用系统资源的大小。当用户计算机系统性能明显降低时,应该从别的方面去查找原因,而不要马上怀疑到系统资源身上。从硬件方面来看,内存太小导致系统不得不频繁使用虚拟内存是影响系统性能的主要原因之一;从软件方面来看,因为Windows是一个多任务的操作系统,大家都习惯同时运行多个应用程序而不管当时是否实际需要。而编写和调试这些应用程序的程序员一般只考虑其在单任务环境下的运行,而没有过多的精力从多任务环境来考虑和调试,因此许多应用程序间往往不能很好地协同工作,同时运行多个这样的应用程序会因它们彼此之间发生冲突而导致系统性能下降。当然,Windows多任务管理机制的不完善也是造成这个问题的主要原因之一
进程优先级
每个进程(正在运行的程序)都有相应的优先级,优先级决定它何时运行和接收多少CPU时间。最终的优先级共32级,是从0到31的数值,称为基本优先级别(base priority level)。系统按照不同的优先级调度进程的运行。0-15级是普通优先级,进程的优先级可以动态变化,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行。优先级相同的进程按照时间片轮流运行。16-31级是实时优先级,实时优先级与普通优先级的最大区别在于相同优先级进程的运行不按照时间片轮转,而是先运行的进程就先控制CPU,如果它不主动放弃控制,同级或低优先级的进程就无法运行
优先级提升策略
每个进程(正在运行的程序)都有相应的优先级,优先级决定它何时运行和接收多少CPU时间。最终的优先级共32级,是从0到31的数值,称为基本优先级别(base priority level)。系统按照不同的优先级调度进程的运行。0-15级是普通优先级,进程的优先级可以动态变化,高优先级进程优先运行,只有高优先级进程不运行时,才调度低优先级进程运行。优先级相同的进程按照时间片轮流运行。16-31级是实时优先级,实时优先级与普通优先级的最大区别在于相同优先级进程的运行不按照时间片轮转,而是先运行的进程就先控制CPU,如果它不主动放弃控制,同级或低优先级的进程就无法运行。像QQ之类要长时间占用进程的可以调制低于标准的优先级。
改变优先级提升性能
改变程序优先级可以提高性能。这里优先级是指电脑怎样决定哪个程序应该首先得到CPU的时间,和怎样分配CPU时间给每一个程序,优先级一般分6级(在后台它更复杂分31级)。优先级由线程优先权(Thread Priority)和优先类型(Priority Class)决定。优先类型有几种基本的优先程度设定(尽管在后台它更复杂),一般有:实时、高、标准、和空闲等。其中实时的程序会优先于其它任何程序占用CPU的时间,大多数情况下只有操作系统本身的程序才有这个特权。其它的设置只是操作系统用来决定程序占用CPU时间的简单排列。其中线程是CPU基本执行单位,CPU在一个瞬时只能处理一个线程,线程优先可以理解为CPU优先处理优先权高的线程,再处理下一级优先权线程。当一个线程在执行中被别的线程优先占有CPU时,操作系统利用CPU的硬件设施保持它的现场;当这个线程重新得到调度时,该现场被恢复。了解优先权大致原理,我们可以从两种途径来设置优先权。
4、 剑走偏锋
改变SW优先级
按Ctrl+Alt+Del,调用任务管理器。切换到“进程”,找到用户想要优先的运行的程序,点击右键,选择“设置优先级”,选择用户希望的优先类型
永久改变SW优先级
用记事本新建一个文件,加入以下类似的语句:
Echo off
Start /
把换成用户希望的优先类型(Real time、High、Normal、或Idle),换成用户希望的改变优先级的程序的路径和程序主文件。例如:
Echo off
Start /high c:\windows\notepad.exe
最后将文件后缀.TXT改变为.BAT并保存。以后可以运行这个BAT文件启动程序,让程序按照用户设定的优先级运行。
注意Real time的程序会优先于其它任何程序,一般只用于操作系统的运行文件。另外提高程序的优先级同时会带来稳定性的降低。
5、 结束语
SolidWorks软件是个易学易用的三维设计软件,在使用的过程中我们可以先分析一下我们的模型再去相应的进行合理的建模,这样就能提高了我们的效率。
网友补充
还有一条:
SW是调用的windows系统字体,设计人员动不动就是仿宋体、宋体之类的字体,这也是一大原因;可以再网上下载windows系统用的单线字体,在SW模板中引用就可以解决这个问题;
还有就是:技术条件之类的不要直接写,要用图块加进去,也可以节省不少内存!
还有一点:电脑硬件