»
首页
|
手机数码
|
汽车资讯
|
游戏硬件
|
评测专题
|
手机壁纸
|
海淘值得买
|
度假
|
求职招聘
|
广告联系
» 您尚未登录:请
登录
|
注册
|
标签
|
帮助
|
小黑屋
|
TGFC Lifestyle
»
经典游戏怀旧专区
» NTSC版的游戏出PAL版时,会把游戏的时钟频率改成50HZ吗?
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[专题讨论]
NTSC版的游戏出PAL版时,会把游戏的时钟频率改成50HZ吗?
SONIC3D
版主
日均500行
帖子
11908
精华
1
积分
27355
激骚
3263 度
爱车
11路环保化学能车
主机
一穷二白
相机
Olympus C730
手机
来自
地球村
注册时间
2009-4-24
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2017-11-20 14:27
显示全部帖子
基于行缓冲表现的游戏机,一般通过HINT和VINT中断向量对应的函数来执行逻辑。HINT每显示完1行触发一次,VINT没显示完1场触发一次,所以一般对于游戏逻辑帧都放在VINT中,在这种情况下,这样的中断触发机制和画面的扫描信号有等同的时序关系,否则图形芯片的输出信号和视频编码芯片对每行画面的编码输出工作就无法契合。
所以有些开发商,根据发卖地区版本的不同,把可预知的VINT触发的间隔直接作为宏定义值,写死在了程序里,比如对于N制地区的版本,就写死1/60秒,对于P制地区就写死1/50秒,游戏的每个逻辑帧就以这个间隔来作为标准。比如上面提到的MD的龙珠就是这种写死的方式,这会导致游戏在不同制式的主机上出现非预期的速度。
而更好的写法自然是通过获取主机内的计时信息,但当时的主机往往没有这样的硬件I/O去获取这样的信息。所以往往采用每帧获取主机的区码、制式的标志位,然后在两套不同的时间间隔参数内按需切换的方式来做到VINT间隔时间的自适应,比如CORE的Cool Spot就是这样。这样的编写方式无论在什么制式主机上都可以正常速度运行。
到了帧缓冲时代的主机,因为画面是首先是完整一帧描画完毕后,再传送给视频编码芯片的,画面的描画可以与视频信号的编码输出工作完全分离,所以往往不再以HINT和VINT来作为描画代码的触发机制,不同制式版本的主机的主频也完全相同,并且提供完善的获取时钟信息的I/O,这样游戏的逻辑帧可以直接根据时钟信息确定本帧与上一帧的间隔时间,自然也就不容易再发生上面所说的情况了。
[
本帖最后由 SONIC3D 于 2017-11-20 14:28 编辑
]
UID
127964
帖子
11908
精华
1
积分
27355
交易积分
0
阅读权限
100
来自
地球村
在线时间
9305 小时
注册时间
2009-4-24
最后登录
2024-11-9
查看个人网站
查看详细资料
TOP
控制面板首页
密码修改
积分交易
积分记录
公众用户组
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计