赞 | 0 |
VIP | 8 |
好人卡 | 27 |
积分 | 49 |
经验 | 41413 |
最后登录 | 2012-10-21 |
在线时间 | 833 小时 |
Lv3.寻梦者 弓箭手?剑兰
- 梦石
- 0
- 星屑
- 4859
- 在线时间
- 833 小时
- 注册时间
- 2010-11-17
- 帖子
- 1140
|
回复 苏小脉 的帖子
那么也就是Graphics.update已经考虑到逻辑运算所消耗的时间了。
如此推论的话,当实际fps下降是因为RM进程(Game.exe)/RM线程的优先级不够高?
然后抢得CPU使用量不够多?于是我做了一下实验:
用SetProcessWorkingSetSize函数将RM进程(Game.exe)提升到最高级(即时):- SetProcPriority = Win32API.new("kernel32", "SetPriorityClass", "ll", "i")
- SetProcPriority.call(-1, 0x100)
复制代码 然后用"跳帧"的方法,10倍的跳帧。
应用在我计划的一个即时性战斗游戏里,重点在于即时性,双方、动画、逻辑运算越来越多。
然后设下一个按钮开关,准备将优先级降低至悠闲级(最低)。
然后开始,不一会,CPU介乎于90~100%,然后把优先级降低至最低,
CPU使用率马上下降了,游戏也慢了下来。 |
|