找回密码
 立即注册
搜索
查看: 5195|回复: 18

[软件] 基于C#开发的高性能任天堂switch模拟器……

[复制链接]
头像被屏蔽
     
发表于 2022-3-6 15:02 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-3-6 15:21 | 显示全部楼层
桌面端一般就是这样了
回复

使用道具 举报

     
发表于 2022-3-6 16:11 | 显示全部楼层
也有js 的吧
回复

使用道具 举报

     
发表于 2022-3-6 16:16 | 显示全部楼层
这类领域对性能要求高啊,以前基本上只能选c++,没人想搞项目的时候重写一遍数据结构算法

另外根据一赖的访谈,怪物猎人rise换了re引擎,业务代码换成了C#使得开发效率大幅提升(C++编译太慢了)

C#比Java好的地方是操作底层数据更方便,所以游戏领域用C#的很多
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-3-6 16:41 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-3-6 17:51 | 显示全部楼层
性能热点区域开个unsafe就当写c了

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2022-3-6 18:41 来自手机 | 显示全部楼层
再买自检星剁手 发表于 2022-3-6 16:16
这类领域对性能要求高啊,以前基本上只能选c++,没人想搞项目的时候重写一遍数据结构算法

另外根据一赖的 ...

游戏主机模拟器和游戏不是一回事的。
游戏主机模拟器要求的cpu性能比一般游戏高很多。性能开销主要都是翻译指令以及主机子系统的模拟。

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.5.2-play
回复

使用道具 举报

     
发表于 2022-3-6 18:48 来自手机 | 显示全部楼层
whzfjk 发表于 2022-3-6 16:41
高性能模拟器一般都会把 guest 指令块即时编译成 host 指令块跳过去假装是原生执行
不知道 C# 这种有托管运 ...

看它项目说明是先翻转成IR中间码…

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.5.2-play
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-3-6 18:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-3-6 19:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-3-6 19:51 | 显示全部楼层
这个是基于最新的.NET 6.0来构建的,不支持之前版本的.net core,至于.net框架自然更不必说了。
现在看来.net进入core时代后基本就等同于c#了,vb.net和f#的应用都没能及时跟上。
回复

使用道具 举报

     
发表于 2022-3-6 23:36 | 显示全部楼层
20年前微软搞C#的时候就是要打算拿来代替C++的,虽然后来扯到蛋了,但是讲真要论各种底层特性是一点都不少的
回复

使用道具 举报

     
发表于 2022-3-7 00:30 | 显示全部楼层
用C#的话跨平台应该会更好做了,看了下现在就支持win,linux和mac。支持mac的模拟器比win少好多
回复

使用道具 举报

     
发表于 2022-3-7 00:48 | 显示全部楼层
C#方便太多了,开源代码下载下来直接就能直接跑起来了(装一个对应版本的.NET SDK即可),从下载到运行起来10分钟之内就能搞定。如果是同等规模的C/C++项目,配置环境就得花很大功夫。
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-3-7 01:40 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

头像被屏蔽
     
发表于 2022-3-7 02:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2022-3-7 07:40 | 显示全部楼层
我记得这模拟器的兼容列表正好和另一个互补
回复

使用道具 举报

     
发表于 2022-3-7 11:14 | 显示全部楼层
c029384756 发表于 2022-3-7 01:40
并不支持mac,官网那个mac图标就只是挂着而已
mac现在问题太多了,比如不支持vulkan,opengl也基本废弃了 ...

至少还有support planned,而且能build,已经不错了

看了下issue,这个用的opengl 4.3, 而mac只支持到4.1...辣鸡苹果
回复

使用道具 举报

     
发表于 2022-3-7 15:21 | 显示全部楼层
车欠 发表于 2022-3-6 18:48
看它项目说明是先翻转成IR中间码…

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.5.2-play ...

The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and currently has support for most 64-bit ARMv8 and some of the ARMv7 (and older) instructions, including partial 32-bit support. It translates the ARM code to a custom IR, performs a few optimizations, and turns that into x86 code.

这个ARMeilleure 是 c#写的,
包括IR 生成和 x86 codegen
最后生成native 函数,unsafe调用一下齐活
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-14 01:27 , Processed in 0.087075 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表