为什么电脑玩不起游戏了? 以前都可以的_百度知道关于游戏主线程调用问题|::::广海游戏:::: - ★广海社区★ -
授人以鱼不如授人以渔 - Powered by phpwind
查看完整版本: [--
关于游戏主线程调用问题
&&有的游戏里面调用CALL多了会产生崩溃,查了很多资料最近就只找到这么点,所以求教下窗口子类化是怎么实现的。。。&&[attachment=58090][attachment=58091]
我见过 某游戏 很无耻的判定 是否 主线程 (-xxxxxxxx)调用发包!对方这种 把call 写到主程就好了!
:我见过 某游戏 很无耻的判定 是否 主线程 (-xxxxxxxx)调用发包!对方这种 把call 写到主程就好了! ( 10:00) &&问题是怎么去调用主线程啊。。。。
独立团的教程好像有0 0
0 0、、好吧 回复的有点多了。。
:独立团的教程好像有0 0 ( 11:24) &&独立团就算了吧,他那是用模块的。。。
:/s?ie=utf-8&bs=%E6%B8%B8%E6%88%8F%E4%B8%BB%E7%BA%BF%E7%A8%8B+site%&f=8&rsv_bp=1&wd=%E6%B8%B8%E6%88%8F%E4%B8%BB%E7%BA%BF%E7%A8%8B%E8%B0%83%E7%94%A8+site%&rsv_sug3=2&rsv_sug4=121&rsv_s .. ( 11:42) &&大哥,这个是模块。。。。
不用模块的,网上是没有API滴,&&独立团的稳定很好,可以绑定游戏任何线程来执行CALL&&我的挂用他们的,BUG很少
使用定时器完全可以达到效果,又避免这种情况
:不用模块的,网上是没有API滴,&独立团的稳定很好,可以绑定游戏任何线程来执行CALL&我的挂用他们的,BUG很少 ( 13:15) &&模块搞的不爽额。。。
:使用定时器完全可以达到效果,又避免这种情况 ( 13:23) &&定时器?你打算怎么用呢?
我的思路是,分析检测部分,看看游戏是怎么判断是否是主线程的,然后调用CALL的时候,模拟下。&比如检测调用函数返回地址是否在主程序空间,则可以模拟压入一个主程序的返回地址,当然,在这个返回地址也需要写代码处理下。我以前用过这种方法,就是有点笨,效果还是有的。
hook call内部 内部改参数
:定时器?你打算怎么用呢? ( 15:03) &&你线程怎么用,定时器就怎么用。&&定时器+状态机
1:定时器就是加个时钟周期去调用。&2:查下setwindowlong
定时器+状态机 ,确实很屌
我一般用setwindowlong&
定时器多了就卡了
:我一般用setwindowlong& ( 16:29) &&对头,就是这个,但是具体咋整啊,能不能贴下代码啊??
:我的思路是,分析检测部分,看看游戏是怎么判断是否是主线程的,然后调用CALL的时候,模拟下。&比如检测调用函数返回地址是否在主程序空间,则可以模拟压入一个主程序的返回地址,当然,在这个返回地址也需要写代码处理下。我以前用过这种方法,就是有点笨,效果还是有的。 ( 17:02) &&你这样太麻烦了额。。。
OldProc:=FARPROC(GetWindowLong(handle,GWL_WNDPROC));&SetWindowLong(handle,GWL_WNDPROC,Longint(@WinProc));&&写个 winproc 调用 oldproc 就好了.也可以在里面处理自定义的消息
别被什么狗屁“窗口子类化”名称忽悠了,这个操作和类根本没关系。(类是c++的语言概念,根本不是系统概念)&就是用SetWindowLong替换了,窗体原本的“过程函数”(就是用纯api写窗口时要自己写的那个WinProc函数。这是个回调函数用来处理相应窗口消息的。所以它是本窗体相应的线程执行的。)。&然后,在这个被你替换了的WinProc中做些你想做的事,最后在调用原本被你替换了的那个WinProc。&21楼,chinester 已经给出了代码。先GetWindowLong(handle,GWL_WNDPROC)获取原本的WinProc保存起来。&然后用SetWindowLong + GWL_WNDPROC 关键字 指定 你构造的WinProc。&&其实 ,你直接用GetWindowLong获取到原本的WinProc的地址,然后对其做inline hook也行。&另外,13楼 萌克力得方法如果在下没理解错的话,应该是指对主线程常用call进行inlne hook。&&PS:后两种方法你的考虑是否有crc保护的问题。
查看完整版本: [--
Powered by
Time 0.070713 second(s),query:2 Gzip enabled易语言获取QQ游戏线程ID,帮我看下哪里出错?_百度知道后使用快捷导航没有帐号?
查看: 2168|回复: 32
新人欢迎积分0 阅读权限60积分3019精华0UID帖子金钱4099 威望0
Lv.6, 积分 3019, 距离下一级还需 1981 积分
UID帖子威望0 多玩草50 草
本帖最后由 两砖撂倒 于
18:12 编辑
& & 先说下我自己的疑惑E3V2无疑很火最近,但是有个主要的疑问一、E3V2频率3.3睿频后也就3.5最高到3.7。这里指的是睿频我理解就是满载后CPU自己提升频率,完了后就又自己降下来的意思吧睿频!二、CPU-Z 检测显示他是I7 ,到底是因为他的频率3.3 还是因为他的8线程,8M L3 缓存所以被检测 I7 。如果是前者那他凭什么是I7 ?2500也 3.3啊!&&如果是后者的话我有一个比喻 那就是你在路上看到一个人开的是兰博基尼,身上穿的是名牌衣服。然后我们上去检测车是真车不是夏利加的外壳,人是真人不是机器人。有驾照有***。那能不能就说明这个人是真的高富帅,是真的富二代而不是司机?
& && &&&二、我们说下I5 3550 这个CPU 。主频 3.3 Intel 说这个U 用Z77主板有送四个倍频的福利,注意是倍频 不是睿频。那是不是可以理解,我上Z77主板 在BIOS 里面直接拉四个倍频然后保存。在进入系统我以后使用时候这个CPU 其实就是四个核都是 3.7的主频率了,然后Intel 不是还有睿频技术吗?等我使用满载的情况下他又自动提升我2-4个睿频,也就是满载使用时候实际频率是3.9-4.1G 的频率。
&&&&这个数据和2500K 那种能超的U 什么加压降温上个3,4百的散热,还要看U体质超上去的频率有不同吗(据说超频后就没睿频了)? 那 3550 这个拉完主频再睿频的 3.9-4.1G 的频率比 E3V2 睿频后的 3.5差很多吗?(因为很多人说完秒I5不带K 的[ali09]) 。所以我现在思维错乱了,3.5-3.7的E3V2厉害还是 3.7-4.1的3550 猛!。
我不是说讽刺谁,我是真的不懂硬件真心思维有点错乱了因为现在都在喊E3V2完秒不带K的I5。我不知道是跑分体现的是真的还是数据显示是真的!求大师、高人解答疑惑到底是E3V2不折腾还是3550不折腾!小弟拜谢
新人欢迎积分1 阅读权限80积分11750精华0UID6078305帖子金钱39972 威望0
Lv.8, 积分 11750, 距离下一级还需 8250 积分
UID6078305帖子威望0 多玩草359 草
[ddt14]对于破塔这种游戏 主频的提升 比较明显。。。
老王OR老婆
新人欢迎积分0 阅读权限60积分4835精华0UID帖子金钱9277 威望1
Lv.6, 积分 4835, 距离下一级还需 165 积分
UID帖子威望1 多玩草1320 草
本帖最后由 剑星王心凌 于
12:28 编辑
两砖撂倒 发表于
先说下我自己的疑惑E3V2无疑很火最近,但是有个主要的疑问一、E3V2频率3.3睿频后也就3.5最高到3.7。这 ...
一、E3V2频率3.3睿频后也就3.5最高到3.7。这里指的是睿频我理解就是满载后CPU自己提升频率,完了后就又自己降下来的意思吧睿频!
你的理解基本正确,但是不严谨!
睿频是INTEL 处理器根据运算需求和线程分配自动给运算单元提供提升主频的自动超频方式,这个提升主频的原理就是给某一个,或某几个,或所有物理核心单元多加几个预定范围之内的有限倍频而已。
睿频在你没有人为调节倍频时,它是自动打开的。
如下图,倍频发生人为变动,不论是人为手动加一个倍频(下图是从32加到33)还是加很多倍频大幅度实现主频提升,所有物理核的频率完全相同:
人为手动超频CPU是对所有物理核心的同步提速,而睿频则在遇到需要多线程的程序,自动超频全部核心增加2-3个左右的倍频。
比如原始是 3.2G 的默认主频,倍频32 ,则所有核心倍频增加到 2后,变为 34倍频,就是 100X 34= 3.4G
需要双核心的程序,关闭另两个核心自动增加3-4个倍频,
比如原始是 3.2G 默频,倍频32 ,有四个物理核,则其它两个核心喝茶闲置,工作中的两个核倍频加到3,变为 35倍频,就是 100X35=3.5G
单核心的程序 关闭另外3个核心自动增加4-6个倍频。
比如原始是 3.2G 默频,倍频32 ,有四个物理核,则三个核心喝茶,所用到的仅有的一个物理核倍频加到4,变为 36倍频,主频就上到了 100X36=3.6G
以下BIOS界面是反映 E3-1230 的睿频,我们可以直观的看到第一个核是 3.592G ,这等同于 3.6G,其它三个核是 3.492G,等同于 3.5G:
睿频的提速相当于在有限的资源内,尽可能降低其它暂时用不上的运算内核的速度,给利用到的工作单元尽可能高的主频。而我们大多数的常用软件并不是多线程的,睿频的出现是一种尽可能合理分配中央处理器运算效率的技术手段,说白了,就是不论在何种情况下,CPU都拿出精神最饱满的一面来应对工作。
二、CPU-Z 检测显示他是I7 ,到底是因为他的频率3.3 还是因为他的8线程,8M L3 缓存所以被检测 I7 。如果是前者那他凭什么是I7 ?2500也 3.3啊!&&如果是后者的话我有一个比喻 那就是你在路上看到一个人开的是兰博基尼,身上穿的是名牌衣服。然后我们上去检测车是真车不是夏利加的外壳,人是真人不是机器人。有驾照有***。那能不能就说明这个人是真的高富帅,是真的富二代而不是司机?
你的 CPU-Z 检测 E3 显示为 I7 ,这是 CPU-Z 的版本问题,1.6 版之后的 CPU-Z是可以识别至强的!
但是在之前的版本 E3被识别为 I7 主要是因为它的内核结构与 I7 几乎完全相同,在没有更新这个软件的 CPU ID数据库和完善CPU 代码校验之前,CPU-Z 误认为是 I7 是很正常的。
一级缓存 4X64K =256K ,各自为每个物理内核提供数据缓存
二级缓存 4X256K=1024K=1M ,也各自为每个物理核心提供数据缓存
三级缓存 6M ,只有6M 独立的,没有给四个核单独分享,而是四个核共享
一级缓存 4X64K =256K ,各自为每个物理内核提供数据缓存
二级缓存 4X256K=1024K=1M ,也各自为每个物理核心提供数据缓存
三级缓存 8M ,四核共享(开启HT超线程后,也为所有线程共享)
一级缓存 4X64K =256K ,各自为每个物理内核提供数据缓存
二级缓存 4X256K=1024K=1M ,也各自为每个物理核心提供数据缓存
三级缓存 8M ,四核共享(开启HT超线程后,也为所有线程共享)
在上面三者 CPU 属性规格上我们就可以看到, E3 与 I7 几乎也没有什么区别,也许你注意到了仅仅只是名称不同。而 I5 与 E3 和 I7 的区别就是三缓和超线程,这个几乎不论新旧版本的 CPU-Z 都可以识别到,只要你不是抬杠式的找一些上古版本。这些特征是CPU内核的根本,不是打磨CPU顶盖或是人为修改主板BIOS或者CPU-Z的 ID 代码就可以办到的。
夏利外形改装的再象超跑,那么我们可以听发动机声音、看发动机的加速效果、观察车内装饰,必要时也会打开引擎盖查看发动机或车桥大架的编号。如果夏利改装的性能超过超跑,那么这笔改装费用是不亚于甚至超过超跑的。达到临界值了,不如买真正意义上的超跑更划算,当然不计成本纯蛋疼的可以这么做。
CPU-Z 并不是只是从名字上取证于这是不是 E3 ,而是把它的片内缓存和线程数目判断并显示给你看到了,这就是与 I7 几乎一致的。
三、我们说下I5 3550 这个CPU 。主频 3.3 Intel 说这个U 用Z77主板有送四个倍频的福利,注意是倍频 不是睿频。那是不是可以理解,我上Z77主板 在BIOS 里面直接拉四个倍频然后保存。在进入系统我以后使用时候这个CPU 其实就是四个核都是 3.7的主频率了,然后Intel 不是还有睿频技术吗?等我使用满载的情况下他又自动提升我2-4个睿频,也就是满载使用时候实际频率是3.9-4.1G 的频率。
& & 这个数据和2500K 那种能超的U 什么加压降温上个3,4百的散热,还要看U体质超上去的频率有不同吗(据说超频后就没睿频了)? 那 3550 这个拉完主频再睿频的 3.9-4.1G 的频率比 E3V2 睿频后的 3.5差很多吗?(因为很多人说完秒I5不带K 的) 。所以我现在思维错乱了,3.5-3.7的E3V2厉害还是 3.7-4.1的3550 猛!
你的理解有些凌乱!
在你人为超频CPU,直接调置倍频时,睿频就没有了。睿频就是自动调倍频,而超频则是人为调倍频,不可能两种情况都存在。如同电视机本身就具有自动搜台功能,你却要用手动,但还能在手动的同时按遥控器自动搜索吗?操作上就矛盾了,手动和自动,只能存在一种。因此你认为超频后还具备这个功能是不成立的。
HT超线程技术的支持者们所坚定的态度就是:一个物理核心,可以分出两个线程运算单元,当物理核心主频随着倍频自动增加的提升后,包括HT 在内所有的运算单元,都是相对默认主频有所提升的。但是有些HT粉丝们也许并没有意识到,这里说到的提升,仍然围绕着物理核心的主频频率说事。
HT超线程虚拟单元并非相当于物理核性能的100%,因为HT再怎么NB也不会凭空多出来一个100%等同于完整物理核心性能的运算单元。它只不过把物理核心相对的空闲给充分利用了。当我们在看到超线程+睿频的八个表格全部高占用时,此时的物理核心执行效率要比没有HT的I5纯四核要高的多,因为冯诺依曼计算机的特点就是效率不高,我们无法保证所有的物理核全部充分利用上。
当多线程密集运算需求量较大,四核HT处理器的八个线程都调用到时,假设所有物理核主频都在 3.5G ,那么包括HT的虚拟核心也是以这个主频工作的,这样的运算能力是很强的。从最理想的角度来说,I5 超到 4.5G 后,是四个物理核四个线程运算单元以 4.5G 的主频在工作,但运算效率并非100%。而 E3 在全负载工作时,睿频加到3个倍频,则是八个线程运算单元把四个物理内核的执行周期几乎100%的都利用到了,并且以物理核的 3.5G 主频进行工作,你会认为哪个更有效率?
HT超线程技术配合 Windows7 系统,在AION里面所表现的直接作用是保持最低帧的流畅感,最大意义在于增强了CPU默认频率下的密集数据的分担和综合运算能力。
HT并不是凭空想像出来的东西,而是把CPU的空闲利用上了,只是在CPU的内部需要一个原本针对一个物理核的排队数据流向的再次分配动作。之前说 HT 打开后会拖慢CPU速度,就是指在这里产生了数据分配动作的延迟(线程指令计数器、线程状态寄存器、线程寄存器资源分配),也可以理解为P4时代的软件、芯片组、驱动甚至操作系统并没有同步跟上线程的分配。这个看上去似有似无的延迟周期是超线程技术生来就俱有的,目前并没有准确的说法来给此事做个定义。请放心,INTEL 比我们用户更着急于如何解决这个问题,对于CPU本身来说,它的影响是很小很小很小很小的,就象 MMX 技术,谁能说开了这个指令,CPU自身就产生出一个莫虚有的延迟呢?
在目前我们所能找到的资料中,数据的分配周期只具有上限,不可能无休止增大(这要看微软的线程调度效率是否达到了让INTEL 兴奋的 G点),也就意味着这个周期可以减少、甚至在未来CPU构架技术更为先进时能够完全消除。我们目前看到的HT超线程功能的打开或关闭,是在主板BIOS下激活的,而不是软件激活,HT是CPU的内部功能,软件影响HT的拖滞很小,除非软件设计很脑残,或者软件的开发很原始。与以往支持 HT 超线程的CPU所不同的是,INTEL 给 I7 / E3 们提升了数据带宽后,也增大了三缓。这在第一代 P4 HT 处理器中是看不到或是局限于当时的技术水平无法实现的。
微软在Windows7之前的系统当中,对于多核心处理器的支持并不能说非常完美,以Vista或XP为例,只有特定软件优化之后才能充分利用多核心的效能,而且设计的时候最高只考虑了四核心设计。什么是特定软件优化?就是几个线程的CPU来跑几个线程的软件,这样我们暂且可以叫做资源的最佳利用效率。
但是操作系统对多核处理器支持的缺失,无疑会造成多核处理器运算效能的下降。与游戏相同,如果系统提供了对多核处理器的有效支持,那么每个核心将会分担运算任务,大大减少CPU的负担,而如果没有提供相应的优化,那么将由单个或部分核心运算数据,其他核心将闲置,浪费了多核CPU的资源。
这里所提到的“优化”,不是软件线程调用和CPU能提供多少线程之间的分别对应!而HT 超线程技术,并不是仅仅只提供了多个虚拟的逻辑单元那么单一。
在INTEL和AMD的产品蓝图中,8核心甚至16核心的产品已经成为前进的固定路线,甚至 64核心处理器也不见得离我们的生活过于遥远,在这种情况下,系统不支持对CPU多核心性能的发挥就设置了巨大的障碍,无法完整的利用CPU核心性能使得强大的CPU资源被白白的浪费掉。而INTEL主流的 I7 处理器就可以通过超线程技术模拟出8核心效果,在操作系统中,在7系统问世之前只有Server2008支持最完善,不过作为服务器系统,对于娱乐项目的支持却显得非常苍白,所以急需Windows7中加入完善的多核心超线程技术支持。
Windows7 确实也没有让大家失望,在设计时,Windows7 就被加入了完整的多核 CPU 支持计划,并对多核心超线程处理器再度强化,多核心计算和优化分配能力将更强,使得 I7 能够完善的在Windows7中展现其“8核心”威力。据微软首席工程师Steven Sinofsky的说法,Windows7能够最多支持 256 个核心CPU并行工作,并将所有的性能潜力发挥到极致。这对于发展中的多核超线程CPU来 说,无疑提供了超前的技术支持,即使在数年后也不会因为无法支持更多核心的 CPU 而造成资源浪费。
I7构架这种运算单元之间多线程的数据协同处理,使得 HT 固有的二次分配负面影响降到最低,INTEL不可能只是单纯的开了HT来让全球的妓术青年们狂喷,而是HT现在建立在共享缓存技术、数据带宽提升的成熟基础上,因此目前的HT超线程运行效率与十年前的P4 相比,你认为它还是一个负面影响、还会在大部分场下拖慢CPU的速度吗? 单线程任务本来就是一个核的事,这种环境下,HT是讨不到便宜的,你就是弄个 I7 3960X 八核12线程的U皇,也不会NB多少。多线程任务是未来的主流。
超线程并不是一个精神伟哥,但超线程给了你一个尽可能提升执行效率、完善利用CPU资源的方式。包括AMD 和 NVIDIA 的显卡 GPU 核心,在内部成百上千的流处理器分配上,也是基于超线程技术原理的,这个技术并不是INTEL 的独门绝技。以八个运算单元面对四个运算单元,假设单个物理核心的性能是一样的,那么在密集并行处理方面的相差是比较大的。另外,超线程必须依靠CPU的数据带宽和片内共享三缓,这是一个硬指标。即使八个运算单元在满幅工作时,它不过是把 CPU所有的空闲都给充分的调用上了。
那么这里就有一个很有趣的问题,同样是四物理核的 I5 如果四个运算单元也暴满,是不是就达到了 E3 或 I7 的效果呢?
我要提示的是,超线程的作用是一个物理核划分出两个运算单元,尽管波幅全满高负载,但 E3 和 I7 有比 I5 多一倍的运算单元数目。这个在编辑高清影片这种对CPU要求最高的环境下大家依然可以看到,超线程的执行效率,把运算周期大大缩短了。一个软件的进程是由多个线程组成的,CPU在多运算单元的多线程并行工作中,极短的把一个调度任务完成,又能继续下一步,比如一个周期可以执行8个运算单元的等效任务,而I5 在一个周期只可以执行4个运算单元的等效任务。尽管虚拟出来的运算单元无法与真正的物理单元划上等号,但是效率上去了,周期缩短了,给我们的印象就是速度变快了。
对于INTEL 的处理器来说,如果没有片内共享的三级缓存和相对于以前处理器的巨大数据带宽,超线程只能被抛弃,必尽它的负面影响是伴随着这两个重点存在或消亡的。超线程在 INTEL 内部实际上打算于 CORE2 就开始启用的,但是营销周期计划的紧促让 INTEL 放了超线程一马,拿到了 I7 时代。
I5 在默认频率下,与 E3 和 I7 没有太大可比性,在单机游戏中,I5 与 E3 I7 没有什么区别,你即使跑孤岛也是一样,单机主要吃显卡,网上搜索一下就能找到评测显示----I3+GTX680 跑单机大作也是哗哗地。单机环境中除了我们感觉高深莫测的专业应用,也就是我之前发的多开帐号、多开窗口,一拖二的玩法有点侧重于依靠超线程了。
I5 目前提升核心执行效率的解决办法就是超频,因为大家的核心构架是一样的,同构架下提升主频肯定能可以带来运算单元的效率提升。如果主频提升后,执行效率能达到足以与四核八线程的 E3和 I7 相比时,我认为超频是有积极意义的,目前以超频的I5 面对不超频的 E3 ,网上可以搜索到的资料大概显示出 I5 达到 4.5G 或以上更高主频时,才可以胜过默频的 E3。虽然我对此结论不报认可态度,也只是娱乐对待。I5 超频幅度如果不大,是不足以在执行效率上胜过 E3 这种带超线程的 CPU的,必尽 E3 的三缓不仅仅是为游戏而来,它更多的是给超线程提供了一个高速的数据调度分配的中转共享。
超频的原理就是增加单位周期的执行速度。复加到整个 CPU 上面来看,就是提升 CPU的运算效率。
AION 对具备超线程的 CPU要求并不是很高,在我和虫子同学两千人要塞战的各自体验中,以 GTX460 和 GTX560TI 这种主流中端显卡配 E3-1230 为例,真全屏最高平均占用20%-22%或者以内,假全屏最高平均占用 40%或者以内,在我更早期的千人要塞战,配 9600 这样的古董显卡,最高占用也不过 57% 。说明INTEL 主流的四核处理器运算性能是够用的。
而超频并不会让你的人物从一分钟走100米,上升到一分钟走 1000米的高铁时代。 红警老游戏中,程序对角色移动的判断来自于CPU的主频,主频高,移动就快,满屏的坦克或满屏的飞行兵相信大家都见识过。这是程序的中断与CPU的时钟周期挂勾的结果。但是你玩老星际,你的机器用 I7 和用奔腾2 从肉眼上看不出来角色移动速度有明显的区别。
对应于 AION 来说,同样如此 ,CPU主频的提升,只会让你在密集运算环境下有着更好的执行效率,别指望人物移动很快的,无非是增强了多角色环境下尽量减少卡顿出现的追求而已,目前我们讨论的结果就是 AION 主要对硬盘IO 速度有着重要的要求,或者说 4K 小文件的瞬间传输速度有着直接的影响(目前老王下一步的关注点是想打算关注一下显卡的通用运算性能对于 AION 是否有帮助)。再说了 AION中的人物角色的动作采样来自于真实的人体物理动作,你能从肉眼上分辨出,人少环境下,都用 460或 560 显卡,配合超到 5G 的 I7 和 I3 2120 的人物动作区别吗?
最后,超频后效率会提升吗?
超频实现了所有运算单元的一致化提升,睿频讲究的是什么时候需要就提升,什么时候不需要就降低。当关闭超线程+睿频时,波幅确实很吻合,因为大家都在以一个固定的频率工作,无所谓什么智能分配运算资源,要上一起上,要闲一起闲。
AION它的数据读写、处理都是随机瞬时的,在我的理解中,不可能一味强调运算单元的理想同步性。有些玩家认为,超频=榨干CPU的运算效率,我看不见得,不过是提升了CPU的主频。运算线程的调度是否有效,CPU能否降低和杜绝空闲时段,才会决定CPU的执行效率。
速度可以影响效率,但并非等同于效率。
睿频的作用是明显和有效的,但不是没有止尽、处处NB的,在同构架的CPU大幅度超频时,睿频就会失去光芒。至于超线程,如果你的CPU支持它并且超频也很稳定,为何不打开呢?如果你追求极限的超频幅度,那么HT将会影响你的挑战成绩。
如果谈到主频就是一切,那么我个人更倾向于 I7 这种带超线程的 CPU 来玩,因为执行效率会更高。
在我前段时间写的贴子:进阶探索3----睿频、超线程、超频的功效分析,已经对此结合AION这个游戏进行自认为比较深入的介绍了,如果有空的话全篇阅读可能会给你一个更清晰的参考。
如果你对这三者之间的联系和区分能把握好,也就不难选择了。
我个人并不认为 I5 能秒 E3 ,这是一个自欺欺人的笑话;也更不认为 E3 能秒 I5,这是一种失去理智的狂傲;对于同品牌主流级别的处理器来说,完秒是不成立的。
我比较多想表达的是购入 E3 可以无视 I5 ,除非你用 I5 超的很高。无视就是----忽略,不介意,命贱,小强般淡定的生存法则。
电脑爱好者交流YY 群 6702959 客观、理性、分享、坦诚
超频不是用来装逼的,仅仅只能作为一种个人爱好,而不是忽悠大家都来玩超频以展示出某种权威性!向什么也不会的小白宣扬这种观点比X宝推销超频套装的JS更加可恶!
新人欢迎积分0 阅读权限60积分3019精华0UID帖子金钱4099 威望0
Lv.6, 积分 3019, 距离下一级还需 1981 积分
UID帖子威望0 多玩草50 草
?山?泉丶 发表于
对于破塔这种游戏 主频的提升 比较明显。。。
老黄你的意思是3550更好是吧?
新人欢迎积分0 阅读权限60积分3019精华0UID帖子金钱4099 威望0
Lv.6, 积分 3019, 距离下一级还需 1981 积分
UID帖子威望0 多玩草50 草
剑星王心凌 发表于
一、E3V2频率3.3睿频后也就3.5最高到3.7。这里指的是睿频我理解就是满载后CPU自己提升频率,完了后就又自 ...
& & 老王你说的太专业了,虽然我只看明白一点,你的意思是因为有8线程所以E3V2的3.3频率是完全超越 I5 3550 拉高四个倍频后的 3.7频率的?但是还有一点我疑惑的,打个比方一个水龙头分成了三个口流水那他肯定是流的比开两口流的快的,但是如果这个水没压力的话分成三口流快是快但是没劲啊,还不如两口因为压力大一点流的有劲也许也不慢!如果三个口的压力很大那无疑他流的最快,这也能用最简单的方法解释为什么I7 也是8线程他更快的原因,还是因为他主频高对不对老王!我认为要实现一个东西必须要有后面的另一个东西去支持,如8线程如果没有高频支持那他基本就是个分散力量,就如小时候我们学的物理一样,单位面积越小压强越大,但是还有个前提是他的质量也必须要大,就如一根针,如果单独放手上你觉得他猛吗?如果是手拿这扎人 那就很猛了吧,因为手给了他力量!所以我的疑问就是 E3V2 他的3.3频率够力量发挥他的8线程吗?
新人欢迎积分1 阅读权限30积分100精华0UID帖子金钱152 威望0
Lv.3, 积分 100, 距离下一级还需 150 积分
UID帖子威望0 多玩草0 草
剑星王心凌 发表于
一、E3V2频率3.3睿频后也就3.5最高到3.7。这里指的是睿频我理解就是满载后CPU自己提升频率,完了后就又自 ...
E3秒I5?如果多线程编程规范按照intel的要求做的话是可以保证超线程的寄存器资源调度冲突性降到最低这样的,从nehalem开始重新引进超线程技术已经四年了,其实很多东西已经在不知不觉中普及了,评测软件的一般是非常快跟进intel的步伐的所以在一般在新版本的软件上很容易体现这种新技术优势。当然前提是码农们愿意学习新规范
&在上面的回复中最后的两句话代表我对 E3 和 I5 的看法。请不要曲解我的观点。谢谢!&
新人欢迎积分0 阅读权限70积分5849精华0UID5284951帖子金钱3591 威望4
只讲事实,不讲故事
Lv.7, 积分 5849, 距离下一级还需 4151 积分
UID5284951帖子威望4 多玩草100 草
其实你思路部分是对的,但是并不准确。
超线程是用逻辑核心来模拟出物理核心,但是同时他是一个动态的。并不是2+2等于4,4+4等于8这么简单。之所以说你思路是对的,这是建立在看运行的软件跟游戏本身对超线程是否支持来看的。我们假定一个游戏不支持超线程,那么打开超线程将会比关闭超线程运行这个游戏来的效率要低。但是这个幅度不会是说砍半那么夸张,幅度是很小的。我们再假定一个游戏他支持超线程,那么同样的做法会带来效率上的提升。而这个提升会是非常明显的。可以达到20%,30%甚至更多。这个幅度取决于对游戏本身对超线程的优化跟CPU本身的效能。
在这个基础上,重点问题来了。怎么看支持超线程与否。支持多少线程。
先看第一个。是否支持超线程。游戏是否支持,并不是说我们打开任务管理器,在CPU使用记录的的每一个逻辑核心的波形图中看到此逻辑核心有所动作就叫支持超线程。超线程本身是动态的,只要游戏本身支持多核心,那么相对的逻辑核心的波形图就是动作的。那么永恒支持么?我后边说。
再来看第二个。支持多少线程(这个如果不明白你可以参考下早期双核刚出来的时候提出的一个概念,多核心优化不足,道理上是相同的)。就目前来说,真正支持超线程的游戏可以说是屈指可数。我拿战地三给你举个例子。战地三支持超线程,但是只支持4线程。而就目前支持超线程的游戏来看,大多也都只优化支持到4线程。因为4线程在目前来讲足够用了。那么我们来看,比方说我们用双核的I3 2100来跑战地3。当我们打开超线程也就是4线程下,提升相对单纯的双核物理核心工作来说是显而易见的。提升大概在30%左右,这个可以从FPS上直观的看出来。那么我们换4核的2600K。做同样打开关闭超线程的动作来测试。超线程状态下的实际效果却是降低的。但是差别非常低。从FPS上来看差距只在个位数。当然这个差距也受U本身的强弱影响。
条理清楚了我们回到永恒看。首先我认为讨论E3超线程跟2500K超频哪个更有效实际是意义不大的。两块CPU在频率上首先就不同。如果要讨论,还必须要考虑不同核心频率大小对永恒带来的影响具体是多少。那么我们只能讨论在同频率下,超线程对永恒是否有作用,这样更加客观。换言之我们想知道永恒是否支持超线程或者作出了相关优化。因为NC并没有表示永恒支持超线程。那么我们只能用比如E3,2600K这样的U在同频率下,打开关闭超线程的办法来做测试,来看他到底有多少提升。然后才能来相对准确的推测超线程的E3跟大幅超频的2500K级别的U哪个更合适。但是悲剧的是这又碰到了另一个阻力。永恒的FPS是限定最高值的。我们又无法从低FPS的环境中判断,因为周围环境跟客观因素是不确定的。更不能从直观感受,流畅不流畅卡不卡来判断这个问题。所以说很难测试出来,反正我目前是无解。但是从大环境上讲,目前支持少线程的游戏少之又少。而支持的当中我至今没接触过有支持8线程的,也可能是我玩游戏比较局限性。从我个人角度看我更倾向于永恒并不支持超线程或者说不支持8线程。因为我的2600K平台上开关超线程并没有感觉出差异。如果确实不支持,那么E3跟超频后2500K的优劣恐怕就显而易见了。当然这个优劣相对永恒的前提是E3这个数量级的主频跑永恒出现瓶颈。所以我个人目前更倾向于主频。不过从E3以上级别U的平台来看,我也更倾向于瓶颈在存贮介质的读取效率。
新人欢迎积分0 阅读权限60积分3019精华0UID帖子金钱4099 威望0
Lv.6, 积分 3019, 距离下一级还需 1981 积分
UID帖子威望0 多玩草50 草
坏的很低调 发表于
其实你思路部分是对的,但是并不准确。
超线程是用逻辑核心来模拟出物理核心,但是同时他是一个动态的。并 ...
& &&&大师你讲的太深奥了,不是很明白,能不能用简单的道理或者举例说明下!我没明白你的意思是E3 比3550 好,还是不好!还一个问题就是我们不能只盯这永恒这么一个比较二的游戏看,如果玩其他游戏比如说剑网三 那E3和3550那个好?
FORZA JUVE!
新人欢迎积分0 阅读权限99积分41855精华0UID830456帖子金钱51610 威望3
Lv.10, 积分 41855, 距离下一级还需 13145 积分
UID830456帖子威望3 多玩草254 草
?。。上面的评论好多。。懒得看。我就说下我自己的情况吧
LZ 说的这两个 CPU。。很不巧。。。我的两台 电脑 正好就是 E3 V2 和&&I5 3550
E3 V2 配&&映泰B75 主板&&8G 内存& &64G SSD& &&>X460+ v2
I5 3550&&配 技嘉 Z77&&8G 内存&&64G SSD& & AMD HD5850
一台我老婆用,一台我用,有时候换着用。。。
没觉得有什么差距。。起码我感觉不出来。该卡都卡。不卡的都不卡
希望对你有帮助。。
&亲有没有试过把 5850显卡搭配 E3 ,再来和I5 配 460 相比?&
老王OR老婆
新人欢迎积分0 阅读权限60积分4835精华0UID帖子金钱9277 威望1
Lv.6, 积分 4835, 距离下一级还需 165 积分
UID帖子威望1 多玩草1320 草
本帖最后由 剑星王心凌 于
04:58 编辑
坏的很低调 发表于
其实你思路部分是对的,但是并不准确。
超线程是用逻辑核心来模拟出物理核心,但是同时他是一个动态的。并 ...
在NC没有明确表态前,我也不认为 AION 支持超线程或支持四核,我始终与大家初始的观点相同:
一、软件特定或针对性的优化之后才能充分利用多核心的效能
二、几个线程的CPU来跑几个线程的软件,这样我们暂且可以叫做资源的最佳利用效率。
但是操作系统对多核处理器支持的缺失,无疑会造成多核处理器运算效能的下降。与游戏相同,如果系统提供了对多核处理器的有效支持,那么每个核心将会分担运算任务,大大减少CPU的负担,而如果没有提供相应的优化,那么将由单个或部分核心运算数据,其他核心将闲置,浪费了多核CPU的资源。
这里所提到的“优化”,不是软件线程调用和CPU能提供多少线程之间的分别对应,或绝对对应。
来看看启动 AION 的两个截图:
进入登录界面 88线程数:
进入游戏场景101线程数:
从7系统的资源监视器中已经看到了 aion.bin 这个进程已经被7系统识别并分配了几十甚至上百个线程,而进程使用的CPU百分比,就是线程对于各运算单元的实际调度占用。这仅仅只是玩家角色较少的场景表现,也可以理解为 AION 基本线程数量的起始点。登录界面 88 线程,游戏人少的场景 101 线程,如果人多呢?
图A----下面是 E3 配 9600 古董显卡于两千人要塞战中天族单种族场景的进程表现 ,处理器占用 32%,这是第一次到这个场景,场景数据是首次读取,因此处理器占用较高,但103线程数大家请注意:
图B----下面是 E3 配 9600 古董显卡于两千人要塞战中天族单种族场景的进程表现,线程数106 ,由于在此场景呆了一段时间,用于数据的缓冲压力也变小,处理器占用降为 28%,也因为同屏可显示的角色增多,线程数也有所增大:
下面是 E3 配 9600 古董显卡于两千人要塞战中天魔一线对推场景的进程表现,同样也是103线程数,近距离角色白板,远距离角色没显示,由于对推时并不是大范围在地图移动,所以它对于处理器的压力也较少,只看硬盘和显卡的戏了:
这个画面中除了硬盘IO 速度之外,显卡也是大大的瓶颈,此时CPU处于这两者双重瓶颈下的等待状态,占用在 20% 左右。
如果 CPU 运算效率不高,建模速度不快,它不会产生一个只具有外形的白板,而只是看到人物的名字,看不到人物的图像。正因为 CPU 完成了角色图形建模,但显卡渲染效率跟不上,所以我们看到了白板。
在上面的对推图中,显卡渲染跟不上,近距离角色白板,硬盘IO 跟不上,远距离角色没有被 CPU 读取数据而无法显示。从CPU 占用不高就可以看得出来,这并不是处理器自身的效率问题。而在第一张单种族场景画面中,没有对推的大量数据瞬间成倍增长的传输需求和高密度角色同屏显示的渲染压力,我们可以看到仅用 5400 转的机械硬盘和9600 显卡也足以完整的显示出视野范围内的所有角色图像。
某同学之前在坛子里贴我的大字报里说AION 多人密集环境中产生的角色白板是 CPU 速度跟不上……,真心的让我震精于神论的强大。
我们并没有看到线程数成倍的增加。常规使用条件下,AION的线程数也平均最高在 106 - 110 左右。再高的话于 7 系统来说被认为是没有效率意义的,如果游戏软件身本没有针对多核多线程进行优化,即使操作系统后台再怎么进行调度分配,也不可能无休止的把一个进程划分出更多的线程,这样的话,系统完全崩溃,后台任务也跟着一起完蛋。而对于 AION 的开发者来说,也不可能给主进程划分更多的线程,每个被执行的序列动作只有是独立的才可能被认为是一个完整的线程。比如分支子程序、设备控制指令、公用计算函数、公用多维数组等。
在我们认识的一些小工具软件任务的进程中,7系统也为之分配了多个线程组:
AMCAP 这个是通用的摄像头应用程序,也属于多线程任务,只是它不需要太多的并行运算,我们可以看到7系统给它分了十个线程。至于CPU波幅,那是后台运行 AION、画板、QQ、YY 等任务。
最后,我们再来看看 SUPER PI 的进程表现,对于其本身就是单线程的任务,7系统还不会自作多情的把闲置的几个运算单元都用上,用多线程的热情去贴单线程的冷屁股:
SUPER PI 本来就是一个单线程的任务进程,它能表现出单核运算的最大效率,但 7 系统无法从根本上给它为了减轻单核的压力让其它核或运算单元一起协同。因为这个软件表现的并不是综合运算压力,谈不上系统所有运算资源全部联动式的密集运算。
从这些简单的例子就可以看出微软对 WINDOWS 7 对 CPU 资源的调度用心所在。AION 不支持多核超线程,并不代表 7 系统也是傻子。如果大家有心闲来无聊时,把具有超线程的 E3 或 I7 放在 XP 系统下会发现更多有趣的地方。
站在 XP 的角度看待超线程,它或许是失败的、鸡肋的,但 7系统的内核底层对 XP 的改进,并非仅仅加了个 AERO 透明的界面或者把通用计算集成于桌面用应用上。
如果只盯着游戏本身,我们可以认为 I5 和 E3/I7 是没有什么不同的。
但是网络游戏的密集运算环境是我们不能回避的,而 windows 7 在这种状况下对任务的线程调度能使多线程处理器的效率得到提升。
因此 I5 不大幅度超频,在大型3D网游中的工作效率比不上具有超线程技术的CPU。
电脑爱好者交流YY 群 6702959 客观、理性、分享、坦诚
超频不是用来装逼的,仅仅只能作为一种个人爱好,而不是忽悠大家都来玩超频以展示出某种权威性!向什么也不会的小白宣扬这种观点比X宝推销超频套装的JS更加可恶!
新人欢迎积分0 阅读权限70积分5849精华0UID5284951帖子金钱3591 威望4
只讲事实,不讲故事
Lv.7, 积分 5849, 距离下一级还需 4151 积分
UID5284951帖子威望4 多玩草100 草
本帖最后由 坏的很低调 于
12:02 编辑
两砖撂倒 发表于
大师你讲的太深奥了,不是很明白,能不能用简单的道理或者举例说明下!我没明白你的意思是E3 比3550 ...
这两块U的主频实际上是差不多的。假如游戏本身支持超线程,那么E3肯定是有市场的,而且我觉得未来软件游戏对超线程支持也很可能成为一种趋势。反观3550,差的区区这点主频,不会让你在游戏中有太大的提升感受。但是就目前来讲,非要说哪个好,尤其对网游,我更倾向于3550。自己取舍下吧。至于剑网3,不是很了解。
&你只看到游戏本身,所以你的观点可以说是正确的;而你也并没有考虑 windows 7 有没有线程调度,所以你的观点是片面的。&
新人欢迎积分0 阅读权限70积分5849精华0UID5284951帖子金钱3591 威望4
只讲事实,不讲故事
Lv.7, 积分 5849, 距离下一级还需 4151 积分
UID5284951帖子威望4 多玩草100 草
剑星王心凌 发表于
在NC没有明确表态前,我也不认为 AION 支持超线程或支持四核,我始终与大家初始的观点相同:
一、软件特 ...
好吧,既然你点评了,那我就说下我的观点。
首先,软件游戏支持超线程意味着什么,带来什么。
一个软件或者游戏,之所以会对多核或者超线程做出优化,是指这个软件和游戏本身对同时多任务处理有着高需求。我们都知道,多核跟超线程的优势就在于多任务的同时处理能力,在这方面体现效率。那么当软件或者游戏有这种需求,并且对多核多线程做出相关优化时,那么此软件游戏在运行中是会有高效率提升的。因为在这种需求下,单核心单线程在多任务处理上是需要排队的。
其次,咱再来看你的观点,考虑WIN7对多线程的调度。这个也是正确的,但是实际提升的范围是,更多的利用CPU空闲核心跟资源来处理软件游戏繁忙的任务来提高执行能力。也就是说,这种提升是在你CPU单个核心或者单个线程处理任务能力吃紧状态下才会体现其优势。而并非加强了同时处理多任务的能力。
而目前的游戏,软件,之所以大多对多核多线程优化不足,是因为他们认为自己的软件游戏本身并不需要更多的核心或者线程来帮助处理更多的任务。或者说在设计之初,并没有这么多核心或者线程的硬件支持,只能利用现有硬件支持的核心线程数来做出妥协优化。
那么这就来了提升效能上的本质区别。前者是大步进的,而后者是提供资源效能供给的。
举个不太恰当的例子。四个水池要从一个装有足够的水的储水装置中抽水。起初只有一个水管。软件游戏对超线程的支持就相当于给每个水池架设同样的水管。而WIN7对多线程的调度利用却只是相当于加大了原有水管的过水量,或者说在同一水池架设了多水管。但是这个过水量是不是能增加效率要看水池本身的抽水机的抽压跟水池需求。而并非是我提供了这种能力,你就有相对的需要。
新人欢迎积分0 阅读权限70积分5849精华0UID5284951帖子金钱3591 威望4
只讲事实,不讲故事
Lv.7, 积分 5849, 距离下一级还需 4151 积分
UID5284951帖子威望4 多玩草100 草
坏的很低调 发表于
这两块U的主频实际上是差不多的。假如游戏本身支持超线程,那么E3肯定是有市场的,而且我觉得未来软件游 ...
当然,超线程的实际做用是不可否认的,他最大的优点是动态分配,而并不像多核心那样有局限性。但是,多任务的实际效能上他是无力的。这就是系统支持与单体软件应用支持两个不同角度的最大区别。
&你这句话说到点子上了!赞一个!&
老王OR老婆
新人欢迎积分0 阅读权限60积分4835精华0UID帖子金钱9277 威望1
Lv.6, 积分 4835, 距离下一级还需 165 积分
UID帖子威望1 多玩草1320 草
本帖最后由 剑星王心凌 于
06:44 编辑
坏的很低调 发表于
好吧,既然你点评了,那我就说下我的观点。
首先,软件游戏支持超线程意味着什么,带来什么。
一个软件或 ...
游戏软件的开发,涉及最多的是图像引擎的利用,而程序员不会考虑用了几个核,也不会考虑具体的线程数。这无疑会增加软件的开发难度,商业上被看作是开发成本。7系统在我看来,就象 DX 标准那样,只是给程序员提供了一个接口,程序员不必要过多的考虑用户的具体硬件是什么。同样基于OpenGL 的显卡通用运算也是如此,程序员只需要关注 OpenGL 就行了。
操作系统从 DOS 发展到今天,它从面对专业的开发上和面对基层的用户操作上,都只是提供了一个中介平台,怎么搞程序怎么操作那是用户的事,而怎么分配管理好资源怎么形成线程调度(或者我们可以说怎么更好的来让&&cpu 各种爽)是微软要干的事。
如你所说,7系统的线程调度,是在CPU单个核心或者单个线程处理任务能力吃紧状态下才会体现其优势,而并非加强了同时处理多任务的能力。
我觉得又有一些片面,以SUPERI PI 单线程任务为例,它在进行位数计算时,单线程效率是处于满载状况的,如果不能充分的利用单线程效率,那么 sp 的运算成绩就不能作为参考性能的一个依据。那么想请教一下,sp 的最大运算状态下,与单线程任务能力的满载和吃紧是一回事吗?为什么7系统没有给它分配更多的线程?
目前的超线程序技术图示如下:
空闲的利用原理,我们可以理解为效率或高密度工作:
【外部图片】
HT数据并行处理的原理
【外部图片】
我们不难看出,给多个线程同时执行所需要的指令和数据,才是 HT 超线程的主要目的。如果学术点,可以称作“同步超线程并行处理”,多个线程之间是独立的,并不完全依懒于其它线程的执行,因此多个线程之间的任意指令均可以同时送到处理器被执行,即使提出一个单线程来看,于整个处理构架的影响是微乎其微的,但是融合为一体后从大局看,原来我们的处理器有这么多的执行动作。 I7 和 E3 表面上看是单独一块物理形态的 cpu ,实际上在它的内部是多个逻辑处理器。
四个水池子向一个大池子索求水,没有超线程的 I5 处理器,不过是四根相同粗细的消防带管子放在那里自由出水,水压不高,流量自然不大。超频也不过是增大管子的直径,流量比之前相比大了,但水压也只是相对之前的提高,依然不大。超频不等于执行效率的最大化。
而超线程处理器看上去每个逻辑单元比不上一个完整的物理运算单元,管子口径相同(必尽也是四个物理核),但是水压完全增大,同时流量也增大了。如果在这种情况下超频,那就更幸福了。
水压就是执行的效率。而水压就是能不能把管子撑满。
OK,再回到 SUPER PI 和 aion 的对比,前者是纯粹的单线程,后者几个线程不知道,官方打马虎眼,玩家云里雾里,也就是某同学曾经说它是个单线程的图像引擎,支持双核就算是顶到天边了。
游戏任务是一个系统化的软件工作流程。它要协调好处理器、内存、显卡、硬盘、芯片组总线、声卡等具体硬件项目;在软件上,它要进行主程序控制框架、人工智能、基础运算、伤害运算、网络数据、场景全局分析、图像工作指令、声音控制指令、内存单元分配、设备之间的互相调用、系统缓冲……等等一系列我们也许说不完整的宠大工作项目。这显然不是一个线程就可以办到的。
对于 AION 的程序员来说,具体支持多少核的处理器,是他们事先约定的一个出发点,比如 2005年就有双核了,2008年是 CORE2 普及年,程序员不可能精确到这个游戏一定要让多少核的处理器在跑,他们也不会刻意留心用户的系统是 XP 还是 7 ,他们始终是以 xp 平台来开发这个游戏的。在早期 7 系统对这个游戏兼容性并不是很好,直到微软在兼容性改进的 sp1 版发布后, AION 才登上 7 系统的大堂。
于 xp 来说,超线程的执行效率是很低下的,因为 2002 年的 XP 甚至连物理单元和虚拟单元都分不清楚。所以我们传统印象中对系统的线程调度和超线程的实际功效一直停留在十多年前。AION 这个软件也不例外。
与其说 AION 究尽支不支持多核超线程,不如说这是7系统在后台做出的努力。