Nintendo Switch Emulator Already Running Games

Discussion in '[H]ard|OCP Front Page News' started by rgMekanic, Apr 16, 2018.

  1. rgMekanic

    rgMekanic [H]ard|News Staff Member

    Messages:
    5,060
    Joined:
    May 13, 2013
    Earlier this month a Nintendo Switch emulator called RyujiNX surfaced, and today according to a report on DSOGaming, it is already running some games. Right now the emulator can only run two titles, Binding Of Isaac and Cave Story+, and both have unplayable performance currently, however it is still impressive that they could get games up and running on a Nintendo Switch emulator so quickly.

    RyujiNX is a Nintendo Switch Emulator programmed in C#, aiming to offer good performance, a friendly interface, and consistent builds. And while last week the emulator could only boot some games, this week we have some videos showing it running and going in-game in two titles.
     
    DrezKill likes this.
  2. DigitalGriffin

    DigitalGriffin [H]ardness Supreme

    Messages:
    4,401
    Joined:
    Oct 14, 2004
    .NET isn't meant for gaming with managed memory unless you use a ton of unsafes.
     
  3. Patton187

    Patton187 Limp Gawd

    Messages:
    347
    Joined:
    Feb 12, 2012
    Not good enough to give a soy face yet
     
    rgMekanic likes this.
  4. DukenukemX

    DukenukemX 2[H]4U

    Messages:
    3,682
    Joined:
    Jan 30, 2005
    Can't wait to be ported to the Mac. LOL!

    -mac-gaming-master-race-single-monitor-mods-medium-settings-no-lag-because-its-a-mac-it-cant-lag.jpg
     
  5. Lakados

    Lakados Gawd

    Messages:
    574
    Joined:
    Feb 3, 2014
    C#.NET has been shown to to run as fast and faster than C++ when enabling optimizations. The .NET language is not nearly as bloated as many like to believe.
    Generally speaking the performance differences when optimizing both code sets falls very closely to almost negate the speed increase when using C++.

    https://insights.dice.com/2015/12/09/can-c-ever-match-c-for-speed/
     
    GoldenTiger likes this.
  6. gamerk2

    gamerk2 [H]ard|Gawd

    Messages:
    1,196
    Joined:
    Jul 9, 2012
    .NET is a tad slower then managed C++, but the difference is minimal nowadays. Remember at the end of the day you care about one frame every 16ms, which is an eternity by CPU standards. The overhead of .NET is minimal when compared next to that 16ms refresh window.
     
    GoldenTiger likes this.
  7. DigitalGriffin

    DigitalGriffin [H]ardness Supreme

    Messages:
    4,401
    Joined:
    Oct 14, 2004
    First of the reason .net is fast when you usenative function calls is because most of it's hand optimized outside managed memory. But also because the .net optimizer pre optimizes the native libraries when you call them similiar to how Android lollypop precompiles your apps before you run them.

    That said when you write your own code large memory maps and arrays are horrendously slow on .net. And those are very common structures in game programming. Luckliy DX is still COM but manipulating resources is painfully slow till you let COM take over.

    Hand optimizing a simple draw call the best I could achieve was 20fps 1920x1080 on 2D. And this was a simple composite rendered image with reused resources.

    Moving to device contact (DC) draws under C++ unmanaged put me well into hundreds of fps.

    You can unsafe/lock everything but then garbage collection becomes an issue and memory becomes quickly fragmented.
     
  8. Lakados

    Lakados Gawd

    Messages:
    574
    Joined:
    Feb 3, 2014
    Array and Mapping performance was addressed in .Net 4.0 back in 2009, there is something like a 6% average difference between them now. C++ is the king of game development because of its existing libraries and its flexibility. C# at this point is the master for tools virtualization and emulation making it a far more suitable choice for this job.

    Additionally most switch games were developed in the unity engine which is C# only for the switch.
     
  9. gamerk2

    gamerk2 [H]ard|Gawd

    Messages:
    1,196
    Joined:
    Jul 9, 2012
    As a general rule: I prefer C# when I need something made quickly. I still tend to use C++ for performance based applications. But the performance difference between the two these days is minimal.