fc吧 关注:163,753贴子:2,032,986
  • 13回复贴,共1

为什么FC游戏的角色在运动时会随机的闪烁

只看楼主收藏回复

问个技术性的问题,发现一些FC游戏的角色或者子弹在运动时会突然闪烁消失一下,感觉像是画面无法及时刷新的样子。但在一些品质较的游戏上像忍者龙剑传,赤影战士这些快节奏的游戏上并不会出现,而一些山寨游戏或D版上出现的非常频繁,这是什么原因导致?


IP属地:上海1楼2024-05-09 08:54回复
    一般来说,画面上较小、活动较灵活的东西是用精灵来呈现的,比如一般的人物、子弹。
    FC机能限制,8x8的精灵(sprite, 活动块)最多64个,一条扫描线上最多8个。
    有的模拟器可以设置为不限制一条扫描线上的精灵数量,但精灵总数是跟软件相关的,通过DMA写精灵数据时,就写一个page(4x64=256 bytes),游戏程序不会往RAM里多写数据,所以模拟器没法随意干预一个游戏的精灵总数上限。
    因为精灵有数量限制,所以当想画的精灵多时,有些就画不上。
    对此,游戏程序中相对妥善的处理是,当精灵数量较多时,隔帧交替显示,一帧显示A,下一帧显示B,再下一帧显示A……这样,A和B看上去就是闪烁的了。如果不这么处理,就可能出现持续看不到A或持续看不到B,这可能比闪烁要糟糕。


    IP属地:北京2楼2024-05-09 19:57
    收起回复
      像热血足球联盟这种有人、有足球、有雨点或者树叶的,闪烁很明显,但不是因为它的代码写得不好。相反,它的代码质量在我看过的当中是比较高的。
      如果一款游戏完全没有闪烁,那要么是精灵数量少,要么是显示有残缺。


      IP属地:北京3楼2024-05-09 20:03
      回复
        CRT 显示器,玩的话 看着没那么明显


        IP属地:广东4楼2024-05-09 23:27
        回复
          FC机能限制啊,有显示数量限制的,优秀的游戏都会尽量去规范同屏数量的,所以会好点。别把早期游戏机性能想得很好,当时都是压榨机能外加卡带芯片扩展才做出那些优秀游戏的,超出机能的话不是卡顿就是显示缺失。即使是早期的街机,同屏数量也不能太多。


          IP属地:广东来自Android客户端5楼2024-05-10 00:10
          回复
            有个2C02N的改机套件可以增加精灵数量,就不闪烁了


            IP属地:江苏来自Android客户端6楼2024-05-15 00:05
            收起回复
              我听说这种情况是机能不足造成的,同屏物体已经到达极限了


              IP属地:北京7楼2024-05-17 11:37
              回复
                一条扫描线上最多8个活动块,多了就会闪烁


                IP属地:北京来自Android客户端8楼2024-05-18 21:06
                回复
                  简而言之,机能限制


                  IP属地:浙江来自Android客户端9楼2024-05-31 10:13
                  回复
                    机能不足以渲染了,显卡也一样,某些时候3d建模过多,渲染不过来,于是就会出现穿帮现象


                    IP属地:上海10楼2024-05-31 10:59
                    回复