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

Suggestion - add a 64 bit mode #170

Closed
ghost opened this issue Oct 8, 2017 · 5 comments
Closed

Suggestion - add a 64 bit mode #170

ghost opened this issue Oct 8, 2017 · 5 comments

Comments

@ghost
Copy link

ghost commented Oct 8, 2017

Hello,
These days, 32 bit is basically obsolete, with most computers being 64 bit. Could you please add a 64 bit mode? I'll be happy to help if you could explain the codebase to me.
-Ndrewxie

@ghost
Copy link
Author

ghost commented Oct 8, 2017

Many new OS's mainly ship as 64 bit binaries, so obtaining good OS images would be easier.

@ghost
Copy link
Author

ghost commented Oct 11, 2017

I'm too lazy to create a new issue for this, but performance is become a big problem. v86 is rendering the text "as you go", instead of grouping text operations together (create an array, and make all render operations modify the array instead. In the end, just dump the array's contents to the canvas). That would increase the rendering speed dramatically and make it feel less laggy.

@ghost
Copy link
Author

ghost commented Oct 11, 2017

The architecture that v86 is using has been phased out by MANY OS developers, meaning that it should be replaced as quickly as possible. Arch linux main page:
Due to the decreasing popularity of i686 among the developers and the community, we have decided to phase out the support of this architecture.

@BelleNottelling
Copy link
Contributor

32 bit IS obsolete (duh), but sadly it isn't as easy as just adding " a 64 bit mode". v86 has been around for ~3 years now and its emulation level is about what a Pentium 1 can do. The first Pentium came out on March 22, 1993, making the support level on v86 about 24 years old. Even if it could handle 64-bit architectures many operating systems still wouldn't be supported. Before 64-bit support is added it would make more sense to finish and close these for added support:
#48
#97

@copy
Copy link
Owner

copy commented Oct 13, 2017

I don't think that 32-bit is obsolete, the vast majority of applications still compile on 32 bit, and most operating systems still support 32 bit (including most BSDs, several major Linux distributions and all Windows versions). If you're looking for a small Linux that still supports 32 bit, try Alpine Linux.

Besides, JavaScript doesn't support 64 bit operations (or addressing more than 4 GB of memory), so this would negatively impact performance. I'm working on a Web Assembly port, which will eliminate this problem.

And the last problem is that this will take several man-months, which I don't have time to invest besides my job.

Closed as a duplicate of #133.

#97

Luckily PAE isn't a prerequisite for 64 bit and in fact PAE mode precludes 64 bit mode.

I'm too lazy to create a new issue for this, but performance is become a big problem. v86 is rendering the text "as you go", instead of grouping text operations together (create an array, and make all render operations modify the array instead. In the end, just dump the array's contents to the canvas). That would increase the rendering speed dramatically and make it feel less laggy.

Contributions are welcome, but please use a profiler before making such assumptions.

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