Minimum platform requirements for UXP?

Discussions about the development and maturation of the Unified XUL Platform (UXP).
Warning: may contain highly-technical topics.

Moderators: trava90, satrow

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22116
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Minimum platform requirements for UXP?

Unread postby Moonchild » Mon, 28 May 2018, 04:12

Although I think this is a little late to date now, it seems that there is still some debate (especially about SSE2) about what UXP as a platform should target.

The envisioned minimum target platform/hardware requirements for anything building on UXP are:
  • Reasonable processor capabilities for 2018 (i686+, SSE2+)
  • Reasonable memory capabilities for 2018 (512MB+)
  • Windows kernel 6+
  • Reasonable Linux environment requirements (GTK2/GTK3, updated X11)

I don't see a reason at all for UXP to target anything older than a Pentium-4 or AMD Athlon64/Turion64 or to focus on really old single-core processors. We've agreed not to target Windows kernel 5, so why are CPU capabilities that are even older than that a point of debate? Please give me a good, real-world reason why these envisioned minima are unacceptable, and we can look at adjusting them. I had planned on re-working some of the old code in Goanna to improve it for these minima but I'll put that on hold until we as a community have decided.
Last edited by Moonchild on Mon, 28 May 2018, 04:17, edited 1 time in total.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Image

Nightbird
Fanatic
Fanatic
Posts: 158
Joined: Mon, 18 Jul 2016, 21:12

Re: Minimum platform requirements for UXP?

Unread postby Nightbird » Mon, 28 May 2018, 22:17

So, do you plan to enforce the use of SSE2 ?

Does it mean that Walter Dnes will not be able to create his "Linux SSE build (32 bits) " ?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22116
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Minimum platform requirements for UXP?

Unread postby Moonchild » Mon, 28 May 2018, 22:50

Nightbird wrote:So, do you plan to enforce the use of SSE2 ?
Does it mean that Walter Dnes will not be able to create his "Linux SSE build (32 bits) " ?


Indeed it does.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Image

Nightbird
Fanatic
Fanatic
Posts: 158
Joined: Mon, 18 Jul 2016, 21:12

Re: Minimum platform requirements for UXP?

Unread postby Nightbird » Mon, 28 May 2018, 23:13

If you plan to improve UXP, keeping a backward compatibility would it be a problem ?

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22116
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Minimum platform requirements for UXP?

Unread postby Moonchild » Tue, 29 May 2018, 00:40

You know the answer to that question if you'd actually read my first post in this thread ;)
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Image

Nightbird
Fanatic
Fanatic
Posts: 158
Joined: Mon, 18 Jul 2016, 21:12

Re: Minimum platform requirements for UXP?

Unread postby Nightbird » Tue, 29 May 2018, 21:56

I read but i'm not a developer so nothing is obvious... that is why i ask ;)

and

I would like to see / read more "opponents" in order to get more ideas or soon the possible controversy will die out because of the lack of participants.
Last edited by Nightbird on Tue, 29 May 2018, 22:12, edited 1 time in total.

testator777
Hobby Astronomer
Hobby Astronomer
Posts: 28
Joined: Mon, 09 Jan 2017, 02:49

Re: Minimum platform requirements for UXP?

Unread postby testator777 » Mon, 11 Jun 2018, 20:24

I run palemoon on a machine with less then 512MB after a great many plugins and addons are loaded. I think it is entirely reasonable to minimize the RAM usage of UXP to something less then 150MB for the program itself entirely as palemoon currently is for me.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22116
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Minimum platform requirements for UXP?

Unread postby Moonchild » Thu, 14 Jun 2018, 08:50

testator777 wrote:I run palemoon on a machine with less then 512MB after a great many plugins and addons are loaded. I think it is entirely reasonable to minimize the RAM usage of UXP to something less then 150MB for the program itself entirely as palemoon currently is for me.


No, it isn't reasonable. Please understand that UXP has a ton more features in its core than Pale Moon to provide as-complete-as-possible standards support. In addition it will need memory for compilation of JS, it will need memory for caching and texture buffering, and it will need memory for storing decoded images, for example. Asking to fit all that in less than the stated minimum requirements is not reasonable and although you can maybe squeeze it into a little less RAM, it will just run like shit and not as-intended.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Image

User avatar
Fedor2
Astronaut
Astronaut
Posts: 542
Joined: Mon, 11 Apr 2016, 01:26

Re: Minimum platform requirements for UXP?

Unread postby Fedor2 » Thu, 14 Jun 2018, 18:12

SSE2 and 512 are good point i would say. Most hardware with i do business even better and has >=1gb ram, but single core usually, palemoon overcome others for sure there, choiceless i would say too. Can you please tell what part of the code do you consider to improve and what actually improve it will be.

testator777
Hobby Astronomer
Hobby Astronomer
Posts: 28
Joined: Mon, 09 Jan 2017, 02:49

Re: Minimum platform requirements for UXP?

Unread postby testator777 » Fri, 15 Jun 2018, 18:12

Moonchild wrote:In addition it will need memory for compilation of JS, it will need memory for caching and texture buffering, and it will need memory for storing decoded images, for example.

Of which palemoon already does and does with less then 150MB for me if I single tab browse with no plugins or addons loaded. I think it is great that you are going to require SSE2 instructions as that just makes the program run better by optimizing SSE calls.

But what is changing so dramatically in UXP that increases the memory usage to over triple, that is 512MB, of palemoon as it is for me? The memory for the compilation of JS it is still using, or could be using, jemalloc by mozilla or your implementation of such. For the memory of storing decoded images it is still using ffmpeg/libjpeg/libpng to handle that so nothing or little will change there. Did something dramatic change in the way memory is used for caching and texture buffering from palemoon's platform to UXP? I would have thought that it is mostly handled by a hardware accelerated GPU. I don't fully understand what is changing so dramatically as to up the memory requirements to such.

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 22116
Joined: Sun, 28 Aug 2011, 17:27
Location: 58.5°N 15.5°E
Contact:

Re: Minimum platform requirements for UXP?

Unread postby Moonchild » Fri, 15 Jun 2018, 23:49

If you want to know what all has changed... compare the source trees.
I understand the question being logical, but there is no direct answer because "what has changed" is literally many thousands of things. In JavaScript alone going from about 60% coverage of ECMAScript6 to 98%, plus added ES2016/ES2017 features is not "free". Similar changes and evolving standards are there in other parts of the browser, e.g. DOM, CSS, and hardware support.

Let me put it another way: Say, you have a game, let's call it Fantastico. If the game makers release a sequel with better AI, better graphics, broader sound support and smoother multiplayer networking, called Fantastico II, would you expect that sequel to use the same limited resources as Fantastico? No. We are looking at a similar level of change here; under the hood, Pale Moon 28 is a completely different beast than Pale Moon 27.
Improving Mozilla code: You know you're on the right track with code changes when you spend the majority of your time deleting code.

"If you want to build a better world for yourself, you have to be willing to build one for everybody." -- Coyote Osborne

Image

Walter Dnes
Astronaut
Astronaut
Posts: 562
Joined: Thu, 30 Jul 2015, 20:29
Location: Vaughan, ON, Canada

Re: Minimum platform requirements for UXP?

Unread postby Walter Dnes » Sun, 17 Jun 2018, 08:05

A couple of technical issues which I ran into while attempting PM28 SSE compiles (yes, I did try)...
  • The "stdcxx_compat" backwards compatability option no longer works on PM28, which means that newer libs are used.
  • PM28 simply does not build on CentOS 6.5, regardless of "stdcxx_compat" setting. Later versions of CentOS use newer libs.
I had to build PM27 SSE on CentOS 6.5 and with "stdcxx_compat" enabled, for it to run on Lucid Puppy. Any newer build environment, i.e. a later CentOS and/or without "stdcxx_compat", forces newer llibraries to be built against, that will not run on Lucid Puppy. A newer distro with the newer libraries will probably crawl painfully on a single-core Pentium3 (the usual SSE-only target cpu). So a PM28 SSE version would be pointless, even if it could be built.
There's a right way
There's a wrong way
And then there's my way

Walter Dnes
Astronaut
Astronaut
Posts: 562
Joined: Thu, 30 Jul 2015, 20:29
Location: Vaughan, ON, Canada

Re: Minimum platform requirements for UXP?

Unread postby Walter Dnes » Sun, 17 Jun 2018, 20:48

What about 32-bit builds? Any machine with 4 gigs or less of RAM benefits from the smaller binary sizes of 32-bit builds. In addition, most Pentium 4 cpus do not support 64-bit operation. According to https://gcc.gnu.org/onlinedocs/gcc-6.4.0/gcc/x86-Options.html#x86-Options the ‘pentium-m’, ‘pentium4’, ‘pentium4m’, and ‘prescott’ have SSE2, but there is no mention of "64-bit extensions" until the ‘nocona’ variant.
There's a right way
There's a wrong way
And then there's my way


Return to “UXP platform development”

Who is online

Users browsing this forum: No registered users and 1 guest