why3000 发表于 2022-3-6 15:02

ooohaoguai2 发表于 2022-3-6 15:21

桌面端一般就是这样了

精钢魔像 发表于 2022-3-6 16:11

也有js 的吧

再买自检星剁手 发表于 2022-3-6 16:16

这类领域对性能要求高啊,以前基本上只能选c++,没人想搞项目的时候重写一遍数据结构算法

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

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

whzfjk 发表于 2022-3-6 16:41

GuardHei 发表于 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

abcbuzhiming 发表于 2022-3-6 19:28

nightrap 发表于 2022-3-6 19:51

这个是基于最新的.NET 6.0来构建的,不支持之前版本的.net core,至于.net框架自然更不必说了。
现在看来.net进入core时代后基本就等同于c#了,vb.net和f#的应用都没能及时跟上。

wangh 发表于 2022-3-6 23:36

20年前微软搞C#的时候就是要打算拿来代替C++的,虽然后来扯到蛋了,但是讲真要论各种底层特性是一点都不少的

maritimus 发表于 2022-3-7 00:30

用C#的话跨平台应该会更好做了,看了下现在就支持win,linux和mac。支持mac的模拟器比win少好多

Archaeopteryx 发表于 2022-3-7 00:48

C#方便太多了,开源代码下载下来直接就能直接跑起来了(装一个对应版本的.NET SDK即可),从下载到运行起来10分钟之内就能搞定。如果是同等规模的C/C++项目,配置环境就得花很大功夫。

c029384756 发表于 2022-3-7 01:40

whzfjk 发表于 2022-3-7 02:25

kerorokun 发表于 2022-3-7 07:40

我记得这模拟器的兼容列表正好和另一个互补

maritimus 发表于 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...辣鸡苹果

phorcys02 发表于 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调用一下齐活
页: [1]
查看完整版本: 基于C#开发的高性能任天堂switch模拟器……