Announcement

Collapse
No announcement yet.

Mozilla's Servo Gets A Experimental Renderer To Draw On The GPU

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ElectricPrism
    replied
    Originally posted by Daktyl198 View Post
    Don't get me wrong, I'm not a fan of Mozilla and Firefox anymore but I've still got to point out a few things...

    1. GTK looking bad on those shells isn't Mozilla's fault, it's that those shells don't like GTK+2. This should be fixed as soon as they switch to GTK+3, and if it's not fixed then it's the shell's fault.

    2. Firefox OS was meant more as an experimental project that they found could actually be used in a real life situation. Just because you don't see FFOS phones in your country doesn't mean they're not being used elsewhere. Thunderbird probably has a higher usage rate than Firefox at this point, so it'd make no sense for them to ditch that. Hello is meant to pair with FFOS phones (like Facetime goes with iPhones except more standards-based).

    3. Chat in thunderbird? Where? RSS in thunderbird is to give it more Outlook-like features (for those making the switch) I assume. I already mentioned Hello.

    4. Chat app is built in so it can run on the phone at proper speeds (without having to use API calls everywhere) and with a moderate amount of security. Password/Sync was built in to mimic the ease-of-use that was pulling users over to Chrome. Servo isn't intended to replace Gecko in Firefox, sorry to say. Only bits and pieces.

    Overall, there are definitely reasons for them doing things other than "We can, and thus we will". They do stupid things too (e.g. the whole "extensions must be signed"), but they're not completely stupid or evil.

    1. Thanks for adding some illumination.

    2. I agree Thunderbird fulfills many core needs of users, I didn't meant to imply ditching it - however, in its current state it's a bit of a monstrocity
    (nswf-ish akira reference)
    https://s-media-cache-ak0.pinimg.com...9326e18522.jpg

    3. Yes, according to my understand it was a prelude to Chat in Firefox from maybe 2 years ago - you can do Google Talk, IRC, and several other chat apps, however it's integration is extremely awkward.
    http://www.lehsys.com/wp-content/upl...8/ulvaatig.jpg

    4. I don't really mind having a FF Chat App, however it's 1.0 implementation was as painful to use as Sync 1.0 which had those terrible randomly generated passwords.

    4b. Firefox Sync? This is actually what made me abandon Firefox - after Firefox destroyed all my bookmarks by overwriting them all with a blank from a laptop I was done rooting for Mozilla's underdog Firefox. It's kindof unforgivable when a cheap utility like a toaster burns the house down. Mozilla IRC support made it worse too by questioning why I didn't maintain an additional backup beyond Sync Backup of my Bookmarks. When an App destroys carefully tagged and organized user data I consider it a software error and not a user error.

    4c. Maybe they'll get their act together, I think I'm just disappointed that their Apps feel convoluted and inclusive of traits that are alien to their core purpose. To me it would make sense to have a "Mozilla Apps" folder with a separate "Firefox Browser", "Thunderbird Email", "Mozilla Chat", "Mozilla Keyring" and "Mozilla Sync". Each app would do "1 thing well" which is the Unix Way & often leads to simplified programming. Yorba & Gnome to me are good examples of Governance of drawing App boundaries.
    nswf-ish Thunderbird = Monstocity
    Last edited by ElectricPrism; 05 October 2015, 07:06 PM. Reason: Phoenix Link Feature is Broken and deletes URIs. - I can't even "Remove Link"

    Leave a comment:


  • nils_
    replied
    Originally posted by bug77 View Post

    I'm not sure how "fairly easy like a scripting language" helps, if you have to do the garbage collection yourself. But then again, I don't know Rust.
    If you've ever fought the Java Garbage collector you might come to appreciate that feature.

    Leave a comment:


  • andreano
    replied
    Originally posted by bug77 View Post
    ?if you have to do the garbage collection yourself
    Hey, the lack of garbage collection is a feature! It has destructors like C++, uses C++11 style move semantics by default (avoids unnecessary copying and reallocation), plus a borrow checker to statically prove memory safety.

    Rust is somewhere between C done right and C++11 minus C++.

    Leave a comment:


  • GraysonPeddie
    replied
    It's been a pleasure for helping Linux users out there. You're welcome.

    Leave a comment:


  • rudregues
    replied
    Originally posted by GraysonPeddie View Post

    I solved my problem by masking tmp.mount, which symlinks it to /dev/null.

    Code:
    sudo systemctl mask tmp.mount
    And to clean up the /tmp directory:

    Code:
    sudo vim /etc/tmpfiles.d/tmp.conf
    Code:
    D! /tmp 1777 root root 0
    D /var/tmp 1777 root root 10d
    x /tmp/systemd-private-*
    x /var/tmp/systemd-private-*
    X /tmp/systemd-private-*/tmp
    X /var/tmp/systemd-private-*/tmp
    I found this in here: tmpfs: Disable automatic mount

    You may need to reboot your system for changes to take effect. If I have 32GB of RAM, then 16GB could be devoted to tmpfs, but why use tmpfs even though I am using traditional hard drive for 120GB for the root partition. If I have 120GB SSD for my root partition, I may need to have at least 16GB or 32GB of RAM, so that I can prolong an SSD. But then I don't know of any programs that would require more than 8GB for compiling. I'm thinking 32GB of RAM should be the minimum for yaourt, especially if you need to compile a bunch of programs.
    Issue solved, thank you very much!

    Leave a comment:


  • bug77
    replied
    Originally posted by Lennie View Post
    ... Fairly easy like a scripting language, but without garbage collection...
    I'm not sure how "fairly easy like a scripting language" helps, if you have to do the garbage collection yourself. But then again, I don't know Rust.

    Leave a comment:


  • Lennie
    replied
    Originally posted by mmstick View Post

    You have to start somewhere. Servo is written in Rust and it's development started at the same time as Rust, which means that Mozilla was creating Servo as a platform for carrying Rust forward, and vice versa. It's better to worry about optimizing the Rust compiler and Rust's standard library rather than worrying about getting GPU acceleration in Rust so early in the game. Now that Rust is stable, and OpenGL wrappers are available, they can worry about making Servo fast with GPU acceleration. But you have to remember that Rust is just a prototype experiment and not something that's guaranteed to ever be released to the public in Firefox.
    Rust isn't new. It came out of a personal project:
    __

    Rust has undergone four epochs so far:
    The Personal Years (2006-2010)
    The Graydon Years (2010-2012)
    The Typesystem Years (2012-2014)
    The Release Year (2015)
    __



    They are doing something some what new. A systems language with a new safe memory/type model. Fairly easy like a scripting language, but without garbage collection. It takes time to figure out how best to do that.

    Also notice this part of the presentation:

    "Goal: get some Rust into Firefox by the end of 2015."

    Seems the video wasn't (properly) recorded or I would have linked to that as well:

    Leave a comment:


  • Azrael5
    replied
    Engine has to be adaptive to the hardware system and its APIs providing both vga and sound card hardware acceleration on every system supporting this features.

    Leave a comment:


  • GraysonPeddie
    replied
    Originally posted by rudregues View Post

    I was with this issue too. It must be like libreoffice, firefox and chromium (those packages require a big amount of memory like 8GB or 12GB, so I only disable compile on RAM and use my HDD).
    I solved my problem by masking tmp.mount, which symlinks it to /dev/null.

    Code:
    sudo systemctl mask tmp.mount
    And to clean up the /tmp directory:

    Code:
    sudo vim /etc/tmpfiles.d/tmp.conf
    Code:
    D! /tmp 1777 root root 0
    D /var/tmp 1777 root root 10d
    x /tmp/systemd-private-*
    x /var/tmp/systemd-private-*
    X /tmp/systemd-private-*/tmp
    X /var/tmp/systemd-private-*/tmp
    I found this in here: tmpfs: Disable automatic mount

    You may need to reboot your system for changes to take effect. If I have 32GB of RAM, then 16GB could be devoted to tmpfs, but why use tmpfs even though I am using traditional hard drive for 120GB for the root partition. If I have 120GB SSD for my root partition, I may need to have at least 16GB or 32GB of RAM, so that I can prolong an SSD. But then I don't know of any programs that would require more than 8GB for compiling. I'm thinking 32GB of RAM should be the minimum for yaourt, especially if you need to compile a bunch of programs.

    Leave a comment:


  • mmstick
    replied
    Originally posted by schmidtbag View Post
    In my opinion, they should have designed this with the intention of GPU acceleration from the very beginning. We're not in the 90s anymore - the average GPU can and should be handling page rendering. Of course, there are a handful of modern devices that don't have GPU acceleration, but the current firefox tends to run somewhat slow on those too.
    You have to start somewhere. Servo is written in Rust and it's development started at the same time as Rust, which means that Mozilla was creating Servo as a platform for carrying Rust forward, and vice versa. It's better to worry about optimizing the Rust compiler and Rust's standard library rather than worrying about getting GPU acceleration in Rust so early in the game. Now that Rust is stable, and OpenGL wrappers are available, they can worry about making Servo fast with GPU acceleration. But you have to remember that Rust is just a prototype experiment and not something that's guaranteed to ever be released to the public in Firefox.

    Leave a comment:

Working...
X