citra吧 关注:85,285贴子:356,861

【闲谈】<Citra不是一款普通的电脑游戏>

只看楼主收藏回复

标题是我这次想说的核心观点——虽然一看上去简直跟废话一样,citra本来就是个模拟器不是游戏嘛!但是我还是要单拿出来说,是因为我发现还是有太多人没有深刻认识到这一点,其实一直拿citra和电脑游戏比较,造成了不少误解。楼下我就来举几个典型的案例,详细分析一下


IP属地:美国1楼2017-01-26 23:12回复
    哦?


    IP属地:广东来自Android客户端2楼2017-01-26 23:14
    回复
      大概一年前,开发团队里就有人说过这么一句话:
      “等我们多做一些优化后,或许用集成显卡运行Citra会比独立显卡运行还快一些”
      于是我们现在就看见了应验的例子: 贴子号4695283952 (@379569364)
      出现这种现象正是我们曾经预料到的。其原理,要说简单其实也很简单:
      Citra在运行时经常需要在主内存和显存之间来回传输贴图数据。如果是集成显卡,传输距离短,速度可能反而比独立显卡要高。
      这里也就涉及到了Citra和普通电脑游戏的一个很大的不同: 电脑游戏不需要反复传送贴图数据,通常是初始化时一次把所有贴图都传送至显存就完事了,因此这个地方的耗时对游戏表现基本没有影响。但是3DS允许游戏进行主内存和显存间反复传输,这个传输速度可能比电脑的还要快一些,citra为了运行3DS游戏也不得不支持这个功能, 辛苦地来回传输数据——这可不是能够很简单地优化掉的东西


      IP属地:美国3楼2017-01-26 23:21
      回复
        开发Citra的人们都会意识到这么一件事:
        我们不是在开发电脑游戏,我们是在按照某个(奇特的)架构标准,为游戏开发平台
        换句话说, 即是:
        戴着镣铐跳舞
        然后,虽然可能显得很不负责任,但是诸如下列问题:
        “为什么Citra不能多用一些显卡资源?”
        “为什么Citra不能多用几个CPU核心?”
        “为什么Citra不能像某某某电脑游戏一样为一些大品牌显卡作特别优化?”
        “能不能牺牲一些画质来提升速度?”
        ……
        都可以用一句话回答:“因为我们不是在开发游戏,我们为了实现和真实3DS一样的系统结构,无法为所欲为”
        注意,我并没有否认各种优化的可能性——我要表达的,是这些在电脑游戏中很常见的优化手段,在 模·拟·器这个领域经常会变得很不简单,请不要以普通游戏的评判标准来评判优化citra的难度。


        IP属地:美国4楼2017-01-26 23:32
        收起回复
          顶一下,辛苦了


          IP属地:浙江来自Android客户端6楼2017-01-26 23:44
          回复
            好文,支持。


            IP属地:广东来自Android客户端8楼2017-01-27 00:09
            回复
              CPU自带的显卡比独显更加高速这个意思,明显是歧视CPU没有自带显卡的玩家吗??
              老实说吧~大多数玩家是用独显玩游戏的,不过家庭电脑一般是CPU自带的显卡。
              玩家使用独显的原因是游戏大作需要独显,家庭电脑主要是上网看视频,做办公,工作需求不高。
              游戏电脑需要有性能更好的CPU自带显卡和独显,可以切换显卡模式运行不同的游戏。


              IP属地:湖南14楼2017-01-27 02:17
              收起回复
                理论上来说,如果提高内存和显存速度,可以让独显达到核显的运行速度?
                ,当然,这句话的意思是南小鸟是我的


                IP属地:河南来自Android客户端15楼2017-01-27 02:25
                收起回复
                  明白楼主的意思,这里提些方法,看看可以参考不,之前的ps2 wii 和psp甚至nds的模拟器,其实现状是跟citra差不多的。当然我不是开发人员,可能说的是错误的,但那些模拟器跟citra的发展路子是一样的,当然我只是从外在的表现方式来判断。那些模拟器都是利用单核心到多核心,从集显到独显,特别是ps2 和wii的例子特别明显。希望能对楼主的开发有点帮助,甚至可能参与的开发人员中已经有些人有想到这些只是还没有运用到而已。 加油,已经对现在的模拟器很满意的路过。


                  IP属地:福建22楼2017-01-27 10:26
                  回复
                    话说dx开源了是不是可以用dx来代替 opengl运作了

                    人各有命,上天注定。脚下的路不是自己选的,谁也不知道会走到哪里(ー_ー)!!


                    IP属地:江苏来自Android客户端25楼2017-01-27 10:48
                    收起回复
                      个人感受,多线程任务分离会加剧模拟的不稳定性,比如像dolphin这么完善的模拟器也有不少需要设置同步GPU才能正常运行的游戏(多线程导致不同步运行游戏会出问题)、甚至崩溃严重的还要关闭多线程;drastic就更容易感受了,开多线程画面有问题的游戏并不少(最常见是上下屏颠倒),这个可以自己试试;pcsx2很大原因是本身ps2的结构比较怪异,这个不能混作一谈。综合来看,目前Citra还没到花太多精力在这上面的时候
                      显卡加速考虑3ds本身的gpu性能之低,我觉得大家还是别太过分想象的好。按现在要求最高的模拟器(cemu,这个有些能完善模拟的游戏)算gtx750显卡就能完全胜任1080P分辨率,Citra最终估计也不会有大家想象的那么需要显卡,所以没必要为了模拟器升级显卡,你现在用的多半就够了


                      26楼2017-01-27 11:34
                      回复
                        amd的apu或成最大赢家


                        IP属地:广东27楼2017-01-30 13:42
                        回复
                          是不是把独显禁用了,就可以流畅了?


                          IP属地:四川28楼2017-02-02 21:58
                          回复
                            辛苦了 已经做得很好了 原本没想到居然能在电脑上玩3ds游戏


                            IP属地:广东来自Android客户端29楼2017-02-03 10:13
                            回复