Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow #317

Open
ethanaobrien opened this issue Feb 11, 2022 · 7 comments
Open

Slow #317

ethanaobrien opened this issue Feb 11, 2022 · 7 comments

Comments

@ethanaobrien
Copy link

ethanaobrien commented Feb 11, 2022

Hello, I think your project is really cool! One problem. The emulation speed is -- really slow and really heavy on cpu.

Why its slow:

browser <= WebAssembly (ruffle) <= system emulation

As an analogy, you are basically running a virtual machine within a virtual machine, causing it to be really slow. I have one simple change that would also allow you to no longer have to re-compile each game separately.

Solution:
use this.
It is a direct compilation of retroarch to the web browser with a neat UI

I own an easily to embed emulator which would save lots of work. It also has netplay implementation! It also support things like the nintendo 64 and the nintendo ds! Please look into it.

@hello-smile6
Copy link
Contributor

v86 would be better. It can get several hundred million instructions per second, unlike alternatives. https://github.com/copy/v86

@ethanaobrien
Copy link
Author

ethanaobrien commented Feb 12, 2022

v86 is for full scale operating systems, so youd have to completely re-write the emulator to run as if you booted from it.

It would still have that extra loop. V86 is a webassembly virtual machine. Youd be doing the same thing you currently have

@hello-smile6
Copy link
Contributor

v86 is for full scale operating systems, so youd have to completely re-write the emulator to run as if you booted from it.

It would still have that extra loop. V86 is a webassembly virtual machine. Youd be doing the same thing you currently have

Actually, v86 works far better than you'd think. Download a Ubuntu 16 disk image and try it. You'll be surprised.

@ethanaobrien
Copy link
Author

I know what v86 is, I managed to boot windows vista in V86. You dont seem to understand what it is.

browser <= WebAssembly <= os virtual machine

It runs a virtual machine. There arent many emulators written in computer os 32 bit assembly. It would also be very difficult to save/load state and cheats/other things if there were.

It still is running that extra step, my emulatorjs project is an application running directly in the browser, no extra step.

@hello-smile6
Copy link
Contributor

I know what v86 is, I managed to boot windows vista in V86. You dont seem to understand what it is.

browser <= WebAssembly <= os virtual machine

It runs a virtual machine. There arent many emulators written in computer os 32 bit assembly. It would also be very difficult to save/load state and cheats/other things if there were.

It still is running that extra step, my emulatorjs project is an application running directly in the browser, no extra step.

Well, v86 can save the state and restore it instantly. Also, you can run almost anything on Arch. Try it.

@ethanaobrien
Copy link
Author

I have tried it, this would be another step to run the vm, slower than what you currently has.

browser <= WebAssembly <= os virtual machine <= emulator

Instead of me trying arch linux, why dont you try my emulator?

@hello-smile6
Copy link
Contributor

I have tried it, this would be another step to run the vm, slower than what you currently has.

browser <= WebAssembly <= os virtual machine <= emulator

Instead of me trying arch linux, why dont you try my emulator?

I will...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants