..but trying the “Connect to server” option in GNOME 2.6 is really nice! I’m surprised how useful this is. Why couldn’t something like this be implemented at a lower level, so they aren’t DE/FM-dependant?
– The splash screen, as usualy of GNOME releases, is strikingly beautiful.
– As usual, everything is very polished. I don’t normally use file managers much, but I have to say I like the new spatial Nautilus. It fits the overall feel of GNOME very well. Now all they have to do is copy a bit more from the Mac and put the menubar at the top I have to say I appreciate the very Mac-esque direction the UI is going.
– The new Nautilus is faster than a bat out of hell. Loading folders is *very* quick.
– Many of the changes are quite subtle. You have to look quite carefully to see them. That makes sense, of course, because the GNOME 2.4 UI was already pretty mature.
– GTK+ still redraws slowly. This is really a significant issue. If you look at MacOS X, the UI is actually pretty slow (easily slower than GNOME) but everything feels *solid* because there is no redraw or flicker anywhere. This solidity imparts a feeling of control and direct manipulation in the same way that the spatial finder does.
I recently used a distro that was kde only. I actually wrote a review of it and sent it to osnews but i doubt they will print it because it was more of a rant than a review unfortunately.
But after using Kde soley and I now understand the niceties of gnome and when i move to another distro, possibly Slackware, I plan to use gnome most of the time.
Kde is nice in certain sense and I like the fact that its based on c++ but after using it actually on a few distros I found it slow and clunky and bloated. While gnome was clean and just worked.
I look forward to trying the new version of gnome under whatever distro I use next. I also like the fact that the gui aspect of mono works under gnome and look forward to trying it out.
>..but trying the “Connect to server” option in GNOME 2.6 is really nice!
It doesn’t work here. Fedora2 test2 can see the “Eugenia” server on my XP but it doesn’t connect. I have a feeling that it again has to do with a problem with SELinux on Fedora.
InternetNews claims GNOME is the default for gentoo. Here I was thinking the Gentoo default is just a base layout, not even X present.
I have both KDE and GNOME on my Gentoo boxes. However since 2.5.1 (the first unstable release I got to install) I´ve been booting into GNOME almost exclusively.
It´s amazing how fast things stabelized from this release to 2.6.0 now. The system is also a lot more responsive than 2.4. Kudos to the GNOME programmers for a job well done.
I have been having also problem to connect to other smb folders. I can see all the computers, but cannot enter them. It looks a problem with the default handlers.
It is also not possible to set a folder to have a unique color or pattern background; if this is set via the “Backgrounds and Emblems” menu, all windows change.
Quoting from Nautilus mailing list:
This is curremtly possible. When you select the background and emblems preference dialog, and you drag a color (or tile) to the window you want to set it on, hold the alt key, and you should get a nice context menu that lets you set it per folder.
Why did they have to change the Nautilus CD Burner? It was easy to use before! Anyway it looks like there are a hell of a lot of changes in 2.6. I’m not sure if I like that, but since I mostly use the command line, I can slowly learn the new interface. Do you know that the command line has auto complete.
It’s good that they improved the help system, however I agree with the Ars article that they should provide a help tutorial which explains all of the new features, otherwise they will lose a lot of users.
– GTK+ still redraws slowly. This is really a significant issue. If you look at MacOS X, the UI is actually pretty slow (easily slower than GNOME) but everything feels *solid* because there is no redraw or flicker anywhere. This solidity imparts a feeling of control and direct manipulation in the same way that the spatial finder does.
Didn’t you read the interview on OSNews here? Most of the speed issues with GTK are *not* because of inherent flaws in GTK. They’re because most XFree86 video drivers have poor XRender support / performance. You can’t really compare it to Qt either as GTK has section 508 compliance and has much better support for international languages. There’s a price to pay for that. FreeDesktop.org’s changes to the X server and better XRender support from video drivers will be the biggest improvement for GTK in the future.
Why did they have to change the Nautilus CD Burner?
They made it better. It now supposidly supports DVD better, etc…
re: connect to server
This feature has been in gnome for a LONG while, but two big things in 2.6 made this feautre much better. As they say in the article, the first is the gnome-keyring which does password management for things like sftp or smb.
The second is that tthey made the UI much better. Before hand you would have to enter the URL in the path box of the browser window.
Spatial nautilus is fantastic (and faster) and you can now also turn off metacity animations (through gconf). All this makes gnome feel minimalist and speedy. Although I have to agree gtk draw speed is on the slow side, especially in apps using tabs – ofcourse this is on freebsd using the standard svga driver, so it’s never going to be fast.
They’re because most XFree86 video drivers have poor XRender support / performance.
NVIDIA’s drivers have good support for the subset of RENDER used by Xft (and by extension Qt and GTK+). Neither Qt nor GTK+ use RENDER for much beyond anti-aliased text, so its an even playing field.
You can’t really compare it to Qt either as GTK has section 508 compliance and has much better support for international languages.
Qt, as of 3.3, is comparable in supporting internationalized text, and isn’t any slower than 3.2. Thus, that cannot be the explanation. I also fail to see how accessibility support could make things slower.
In any case, this thread isn’t about GTK+. Its about GNOME. I just mentioned the speed issue, because GNOME’s new uber-fast finder kinda makes it stand out more.
NVIDIA’s drivers have good support for the subset of RENDER used by Xft (and by extension Qt and GTK+). Neither Qt nor GTK+ use RENDER for much beyond anti-aliased text, so its an even playing field.
Um, actually NVidia’s XRender support is still pretty poor to me. I know, I’ve used many different NVidia cards under Linux. XiG is the only vendor I know of that has really solid and good XRender support. ATi certainly doesn’t, Scitech might…
I would think that the developers of GTK and other higher ranking developers would know better than you or I.
I’m sure you’ve heard of gtkmm? It’s a C++ wrapper for GTK+ if that’s what you’d prefer as a coder, I know I do. I don’t see how you can prefer KDE over Gnome just because of the language it was built on, it all boils down to machine code anyways
So if you’re a developer and you like Qt/KDE because it’s C++, rest assured that GTK+ doesn’t ignore C++ programmers.
I’ve been running 2.5 for a few weeks. The nautilus spatial view bugged me bigtime for the first hour or so. After discovering Shift-dbl.click (close parent window when opening the new window) it completly turned on me. I just love it!
Two problems remain
1) The ‘connect to server’ options seems to fail.
2) Righ click->Properties->Audio/Video gives a CORBA error
With 1) I’m thinking there’s some problem with how my jhbuild is set up to configure gnome-vfs. (BTW, how do you get to see which filesystems gnome-vfs understands?)
Um, actually NVidia’s XRender support is still pretty poor to me.
In what way? GTK+ and Qt use RENDER only to alpha-blend AA’ed glyphs. NVIDIA supports the subset of RENDER required to accelerate that operation, and falls through to software emulation for other cases. Plus, even with RENDER acceleration disabled, Qt and GTK+ are still the same relative speed, so poor RENDER acceleration couldn’t be at fault.
I would think that the developers of GTK and other higher ranking developers would know better than you or I.
I’ve never heard a GTK+ developer specifically blame RENDER. I remember bringing up the rumor in the freedesktop.org thread, but as I stated then, I have no clue where it came from, and cannot find the source.
Last I heard Qt didn’t actually use xrender, it did the font rendering internally….
That would make sense as the fonts definitely look different in KDE. I personally find that Pango (the font renderer for GTK) renders better anti-aliased fonts than QT. Some letters (especially those with diagonals like the lowercase “y”) just look bad for some reason on another with QT. That’s quite strange as my resolution is quite high (115 dpi). I’ll try to do screenshots later tonight…
I’ve never heard a GTK+ developer specifically blame RENDER. I remember bringing up the rumor in the freedesktop.org thread, but as I stated then, I have no clue where it came from, and cannot find the source.
Well, if you read OSNews interviews, you would know that they have. To quote RedHat’s Owen Taylor:
A big bottleneck right now in GTK+ performance is the poor performance of the RENDER extension drawing anti-aliased text. Even without hardware acceleration, it could be tens of times faster than it is now. I’m hopeful that the X server work currently ongoing on freedesktop.org will result in that being fixed.
@Mike Hearn: Qt most definitely draws text through Xft (1 or 2 depending on the setup). Every QPaintDevice has a RENDER handle, and the Qt font engine calls either XftDrawGlyphs or XftDrawString16 depending on the context. The code is in src/kernel/qfontengine_x11.cpp if you’re interested.
@Wrawrat: It is possible for both Qt and GTK+ to use Xft and still generate different output. Recent releases of freetype (along with all of RedHat’s builds since 8.0) have some parameters controlling the aggressiveness of the hinter. GNOME offers some options for setting those parameters, while KDE does not. If you’re using “best shapes” or “best contrast” mode in GNOME, you might be getting subtly different output in Qt and GTK+. If you like GNOME’s output better, you can try playing with those parameters. In the file .Xdefaults:
Xft.rgba = one of ‘none’, ‘rgb’, ‘bgr’
Xft.hintstyle = one of ‘hintfull’, ‘hintmedium’, ‘hintslight’
This is a bit off-topic, but its interesting to note. There *is* a difference between how GTK+ and Qt handle drawing through Xft. When using Xft2, Qt does all drawing through ‘XftDrawGlyphs’, which draws a bunch of glyphs at once. GTK+, on the other hand, uses ‘XftDrawGlyph’, which draws one at a time. There is an interesting comment in qfontengine_x11.cpp
// Xft has real trouble drawing the glyphs on their own.
// Drawing them as one string increases performance significantly.
Could that be the root of the difference? I don’t know, but its certainly possible.
AT mentions ROX-Filer which is an excellent file manager application which solves many of the dillemas of *nix. It is faster than any other file manager and also allows users to install applications in their home directories w/o root access. The AppDir functionality (which RISCOS invented first, not Macs) which ROX-Filer uses allows you to move applications around since they are self-contained.
The only thing that ROX-Filer lacks is support for a VFS mechanism.
I think render is used for more than text in gnome. Just based on my superficial analysis I think that the selection box in nautilus (when you drag to select multiple files) uses render. With the nvidia drivers if I turn render acceleration on and move my mouse around with the selection box it updates instantly and keeps up with my mouse. When I turn render acceleration off and do the same thing the selection box lags behind the mouse and you can see it struggling to redraw fast enough. This is reproducible even when I am not dragging over any text.
I also forgot to add that Rox has the ability to automount any partition w/o supermount or automount being installed within the kernel. Directories containing mount points can be manipulated directly instead of using the less efficient .desktop method that KDE and GNOME use. I wish the big two would copy this code.
It is possible for both Qt and GTK+ to use Xft and still generate different output. Recent releases of freetype (along with all of RedHat’s builds since 8.0) have some parameters controlling the aggressiveness of the hinter. GNOME offers some options for setting those parameters, while KDE does not. If you’re using “best shapes” or “best contrast” mode in GNOME, you might be getting subtly different output in Qt and GTK+.
That makes sense… Hey, for once, GNOME has an option that KDE doesn’t!
I prefer the first, but I suppose others would prefer the second or third. For reference, I’ve set my fonts in GNOME at “Best Shapes”.
Could that be the root of the difference? I don’t know, but its certainly possible.
It is possible to change the drawing function in GTK+ to use XftDraGlyphs instead without changing the code significantly? I would if I could but I don’t know shit of C/C++ (I plan to learn them soon but I’m currently a Delphi programmer).
Yep, definitely looks like freetype is hinting less aggressively, and that’s precisely what ‘best shapes’ does. If you want other apps to look the same way, and have a recent version of font config, put this in your ~/.Xdefaults:
Xft.hintstyle = hintslight
As for XftDrawGlyphs, that’s an example of my mouth running faster than my brain. GTK+ uses XftDrawGlyphSpec which also draws more than one at a time. However, in libXft, they end up calling different RENDER functions, XRenderCompositeStringXX for Qt, and XRenderCompositeTextXX for GTK+. I don’t know what the difference is — but that’s where it is if anybody is interested in checking it out.
You wanna know the best way to get great font quality? Just download the latest freetype which has bytecode interpreting disabled unlike most distros which did enable it and make fonts look worse as a result. The only negative consequence is that aliased vector fonts will not look as nice. But once you try the interpreter disabled, you won’t want to go back to the old aliased/antialiased ay!
I wish to thank you for your investigative work. Not only did you uncover how QT and GTK+ via libxft use RENDER differently
( XRenderCompositeStringXX for Qt, and XRenderCompositeTextXX for GTK+) you also uncovered the difference in hinting used by the two. You could have of course stuck to your original statement that RENDER could not be involved in the speed difference-yet instead of inisisting on this- you actually went and did the work of looking at the code.
Hats off to you for being open to learn and sharing your insights with us-such content, which so rarely occurs in these forums, contributes greatly to the quality of OSNEWS.
I believe this may be the most pleasant thread I have witnessed here in a long, long time……If people could only suppress their desire to troll-and respond to recognizable trolls-OSNEWS could be a trully wonderful place for surprisingly insightful analysis….
Qt renders fonts via XFT and XFT uses the render extension if present. I know this because some extensions are not present in a default install of X on FreeBSD. After having portinstalled xrender (and other freedesktop.org extensions: xshape, xrandr, etc.) I noticed that when I recompiled xft and qt, the configure script of both checked and found those extensions. In fact, qt presented a list at the end of the configure script, describing what will be included, and xrender was there (along with mysql, xrandr support and a few others on my machine).
Been trying it out a little, Gnome 2.6 is already more or less in Debian experimental.
It’s definitely an improvement from 2.4.
..but trying the “Connect to server” option in GNOME 2.6 is really nice! I’m surprised how useful this is. Why couldn’t something like this be implemented at a lower level, so they aren’t DE/FM-dependant?
Yay for Debian experimental. Some thoughts:
– The splash screen, as usualy of GNOME releases, is strikingly beautiful.
– As usual, everything is very polished. I don’t normally use file managers much, but I have to say I like the new spatial Nautilus. It fits the overall feel of GNOME very well. Now all they have to do is copy a bit more from the Mac and put the menubar at the top I have to say I appreciate the very Mac-esque direction the UI is going.
– The new Nautilus is faster than a bat out of hell. Loading folders is *very* quick.
– Many of the changes are quite subtle. You have to look quite carefully to see them. That makes sense, of course, because the GNOME 2.4 UI was already pretty mature.
– GTK+ still redraws slowly. This is really a significant issue. If you look at MacOS X, the UI is actually pretty slow (easily slower than GNOME) but everything feels *solid* because there is no redraw or flicker anywhere. This solidity imparts a feeling of control and direct manipulation in the same way that the spatial finder does.
I recently used a distro that was kde only. I actually wrote a review of it and sent it to osnews but i doubt they will print it because it was more of a rant than a review unfortunately.
But after using Kde soley and I now understand the niceties of gnome and when i move to another distro, possibly Slackware, I plan to use gnome most of the time.
Kde is nice in certain sense and I like the fact that its based on c++ but after using it actually on a few distros I found it slow and clunky and bloated. While gnome was clean and just worked.
I look forward to trying the new version of gnome under whatever distro I use next. I also like the fact that the gui aspect of mono works under gnome and look forward to trying it out.
Any available?
>..but trying the “Connect to server” option in GNOME 2.6 is really nice!
It doesn’t work here. Fedora2 test2 can see the “Eugenia” server on my XP but it doesn’t connect. I have a feeling that it again has to do with a problem with SELinux on Fedora.
did you look at the Ars article?
InternetNews claims GNOME is the default for gentoo. Here I was thinking the Gentoo default is just a base layout, not even X present.
I have both KDE and GNOME on my Gentoo boxes. However since 2.5.1 (the first unstable release I got to install) I´ve been booting into GNOME almost exclusively.
It´s amazing how fast things stabelized from this release to 2.6.0 now. The system is also a lot more responsive than 2.4. Kudos to the GNOME programmers for a job well done.
Im looking at it now. Thanks.
I have been having also problem to connect to other smb folders. I can see all the computers, but cannot enter them. It looks a problem with the default handlers.
It is also not possible to set a folder to have a unique color or pattern background; if this is set via the “Backgrounds and Emblems” menu, all windows change.
Quoting from Nautilus mailing list:
This is curremtly possible. When you select the background and emblems preference dialog, and you drag a color (or tile) to the window you want to set it on, hold the alt key, and you should get a nice context menu that lets you set it per folder.
Cheers…
has anyone been able to install Fedora 2 test so that we can use GNOME 2.6?
Gnome 2.6 will make it into the next dropline[ http://www.dropline.net/gnome ] release.
Why did they have to change the Nautilus CD Burner? It was easy to use before! Anyway it looks like there are a hell of a lot of changes in 2.6. I’m not sure if I like that, but since I mostly use the command line, I can slowly learn the new interface. Do you know that the command line has auto complete.
It’s good that they improved the help system, however I agree with the Ars article that they should provide a help tutorial which explains all of the new features, otherwise they will lose a lot of users.
@Rayiner Hashem:
– GTK+ still redraws slowly. This is really a significant issue. If you look at MacOS X, the UI is actually pretty slow (easily slower than GNOME) but everything feels *solid* because there is no redraw or flicker anywhere. This solidity imparts a feeling of control and direct manipulation in the same way that the spatial finder does.
Didn’t you read the interview on OSNews here? Most of the speed issues with GTK are *not* because of inherent flaws in GTK. They’re because most XFree86 video drivers have poor XRender support / performance. You can’t really compare it to Qt either as GTK has section 508 compliance and has much better support for international languages. There’s a price to pay for that. FreeDesktop.org’s changes to the X server and better XRender support from video drivers will be the biggest improvement for GTK in the future.
Why did they have to change the Nautilus CD Burner?
They made it better. It now supposidly supports DVD better, etc…
re: connect to server
This feature has been in gnome for a LONG while, but two big things in 2.6 made this feautre much better. As they say in the article, the first is the gnome-keyring which does password management for things like sftp or smb.
The second is that tthey made the UI much better. Before hand you would have to enter the URL in the path box of the browser window.
Why did they have to change the Nautilus CD Burner?
Actually, it is just the spatial view that many find different. If you open it inside a navigational browser, it should look just like before.
Spatial nautilus is fantastic (and faster) and you can now also turn off metacity animations (through gconf). All this makes gnome feel minimalist and speedy. Although I have to agree gtk draw speed is on the slow side, especially in apps using tabs – ofcourse this is on freebsd using the standard svga driver, so it’s never going to be fast.
They’re because most XFree86 video drivers have poor XRender support / performance.
NVIDIA’s drivers have good support for the subset of RENDER used by Xft (and by extension Qt and GTK+). Neither Qt nor GTK+ use RENDER for much beyond anti-aliased text, so its an even playing field.
You can’t really compare it to Qt either as GTK has section 508 compliance and has much better support for international languages.
Qt, as of 3.3, is comparable in supporting internationalized text, and isn’t any slower than 3.2. Thus, that cannot be the explanation. I also fail to see how accessibility support could make things slower.
In any case, this thread isn’t about GTK+. Its about GNOME. I just mentioned the speed issue, because GNOME’s new uber-fast finder kinda makes it stand out more.
@Rayiner Hashem:
NVIDIA’s drivers have good support for the subset of RENDER used by Xft (and by extension Qt and GTK+). Neither Qt nor GTK+ use RENDER for much beyond anti-aliased text, so its an even playing field.
Um, actually NVidia’s XRender support is still pretty poor to me. I know, I’ve used many different NVidia cards under Linux. XiG is the only vendor I know of that has really solid and good XRender support. ATi certainly doesn’t, Scitech might…
I would think that the developers of GTK and other higher ranking developers would know better than you or I.
I’m sure you’ve heard of gtkmm? It’s a C++ wrapper for GTK+ if that’s what you’d prefer as a coder, I know I do. I don’t see how you can prefer KDE over Gnome just because of the language it was built on, it all boils down to machine code anyways
So if you’re a developer and you like Qt/KDE because it’s C++, rest assured that GTK+ doesn’t ignore C++ programmers.
I’ve been running 2.5 for a few weeks. The nautilus spatial view bugged me bigtime for the first hour or so. After discovering Shift-dbl.click (close parent window when opening the new window) it completly turned on me. I just love it!
Two problems remain
1) The ‘connect to server’ options seems to fail.
2) Righ click->Properties->Audio/Video gives a CORBA error
With 1) I’m thinking there’s some problem with how my jhbuild is set up to configure gnome-vfs. (BTW, how do you get to see which filesystems gnome-vfs understands?)
Um, actually NVidia’s XRender support is still pretty poor to me.
In what way? GTK+ and Qt use RENDER only to alpha-blend AA’ed glyphs. NVIDIA supports the subset of RENDER required to accelerate that operation, and falls through to software emulation for other cases. Plus, even with RENDER acceleration disabled, Qt and GTK+ are still the same relative speed, so poor RENDER acceleration couldn’t be at fault.
I would think that the developers of GTK and other higher ranking developers would know better than you or I.
I’ve never heard a GTK+ developer specifically blame RENDER. I remember bringing up the rumor in the freedesktop.org thread, but as I stated then, I have no clue where it came from, and cannot find the source.
Last I heard Qt didn’t actually use xrender, it did the font rendering internally….
Last I heard Qt didn’t actually use xrender, it did the font rendering internally….
That would make sense as the fonts definitely look different in KDE. I personally find that Pango (the font renderer for GTK) renders better anti-aliased fonts than QT. Some letters (especially those with diagonals like the lowercase “y”) just look bad for some reason on another with QT. That’s quite strange as my resolution is quite high (115 dpi). I’ll try to do screenshots later tonight…
@Rayiner Hashem:
I’ve never heard a GTK+ developer specifically blame RENDER. I remember bringing up the rumor in the freedesktop.org thread, but as I stated then, I have no clue where it came from, and cannot find the source.
Well, if you read OSNews interviews, you would know that they have. To quote RedHat’s Owen Taylor:
A big bottleneck right now in GTK+ performance is the poor performance of the RENDER extension drawing anti-aliased text. Even without hardware acceleration, it could be tens of times faster than it is now. I’m hopeful that the X server work currently ongoing on freedesktop.org will result in that being fixed.
Found here at the bottom of the page: http://www.osnews.com/story.php?news_id=5453
Owen Taylor is one of the GTK authors.
@Mike Hearn: Qt most definitely draws text through Xft (1 or 2 depending on the setup). Every QPaintDevice has a RENDER handle, and the Qt font engine calls either XftDrawGlyphs or XftDrawString16 depending on the context. The code is in src/kernel/qfontengine_x11.cpp if you’re interested.
@Wrawrat: It is possible for both Qt and GTK+ to use Xft and still generate different output. Recent releases of freetype (along with all of RedHat’s builds since 8.0) have some parameters controlling the aggressiveness of the hinter. GNOME offers some options for setting those parameters, while KDE does not. If you’re using “best shapes” or “best contrast” mode in GNOME, you might be getting subtly different output in Qt and GTK+. If you like GNOME’s output better, you can try playing with those parameters. In the file .Xdefaults:
Xft.rgba = one of ‘none’, ‘rgb’, ‘bgr’
Xft.hintstyle = one of ‘hintfull’, ‘hintmedium’, ‘hintslight’
This is a bit off-topic, but its interesting to note. There *is* a difference between how GTK+ and Qt handle drawing through Xft. When using Xft2, Qt does all drawing through ‘XftDrawGlyphs’, which draws a bunch of glyphs at once. GTK+, on the other hand, uses ‘XftDrawGlyph’, which draws one at a time. There is an interesting comment in qfontengine_x11.cpp
// Xft has real trouble drawing the glyphs on their own.
// Drawing them as one string increases performance significantly.
Could that be the root of the difference? I don’t know, but its certainly possible.
AT mentions ROX-Filer which is an excellent file manager application which solves many of the dillemas of *nix. It is faster than any other file manager and also allows users to install applications in their home directories w/o root access. The AppDir functionality (which RISCOS invented first, not Macs) which ROX-Filer uses allows you to move applications around since they are self-contained.
The only thing that ROX-Filer lacks is support for a VFS mechanism.
I think render is used for more than text in gnome. Just based on my superficial analysis I think that the selection box in nautilus (when you drag to select multiple files) uses render. With the nvidia drivers if I turn render acceleration on and move my mouse around with the selection box it updates instantly and keeps up with my mouse. When I turn render acceleration off and do the same thing the selection box lags behind the mouse and you can see it struggling to redraw fast enough. This is reproducible even when I am not dragging over any text.
I also forgot to add that Rox has the ability to automount any partition w/o supermount or automount being installed within the kernel. Directories containing mount points can be manipulated directly instead of using the less efficient .desktop method that KDE and GNOME use. I wish the big two would copy this code.
It is possible for both Qt and GTK+ to use Xft and still generate different output. Recent releases of freetype (along with all of RedHat’s builds since 8.0) have some parameters controlling the aggressiveness of the hinter. GNOME offers some options for setting those parameters, while KDE does not. If you’re using “best shapes” or “best contrast” mode in GNOME, you might be getting subtly different output in Qt and GTK+.
That makes sense… Hey, for once, GNOME has an option that KDE doesn’t!
Anyway, I’ve made a small comparison here:
http://pages.infinit.net/metaly/img/fonts-comparison.png
I prefer the first, but I suppose others would prefer the second or third. For reference, I’ve set my fonts in GNOME at “Best Shapes”.
Could that be the root of the difference? I don’t know, but its certainly possible.
It is possible to change the drawing function in GTK+ to use XftDraGlyphs instead without changing the code significantly? I would if I could but I don’t know shit of C/C++ (I plan to learn them soon but I’m currently a Delphi programmer).
Yep, definitely looks like freetype is hinting less aggressively, and that’s precisely what ‘best shapes’ does. If you want other apps to look the same way, and have a recent version of font config, put this in your ~/.Xdefaults:
Xft.hintstyle = hintslight
As for XftDrawGlyphs, that’s an example of my mouth running faster than my brain. GTK+ uses XftDrawGlyphSpec which also draws more than one at a time. However, in libXft, they end up calling different RENDER functions, XRenderCompositeStringXX for Qt, and XRenderCompositeTextXX for GTK+. I don’t know what the difference is — but that’s where it is if anybody is interested in checking it out.
Thanks, I’m gonna give it a try ASAP.
You wanna know the best way to get great font quality? Just download the latest freetype which has bytecode interpreting disabled unlike most distros which did enable it and make fonts look worse as a result. The only negative consequence is that aliased vector fonts will not look as nice. But once you try the interpreter disabled, you won’t want to go back to the old aliased/antialiased ay!
I wish to thank you for your investigative work. Not only did you uncover how QT and GTK+ via libxft use RENDER differently
( XRenderCompositeStringXX for Qt, and XRenderCompositeTextXX for GTK+) you also uncovered the difference in hinting used by the two. You could have of course stuck to your original statement that RENDER could not be involved in the speed difference-yet instead of inisisting on this- you actually went and did the work of looking at the code.
Hats off to you for being open to learn and sharing your insights with us-such content, which so rarely occurs in these forums, contributes greatly to the quality of OSNEWS.
I believe this may be the most pleasant thread I have witnessed here in a long, long time……If people could only suppress their desire to troll-and respond to recognizable trolls-OSNEWS could be a trully wonderful place for surprisingly insightful analysis….
Qt renders fonts via XFT and XFT uses the render extension if present. I know this because some extensions are not present in a default install of X on FreeBSD. After having portinstalled xrender (and other freedesktop.org extensions: xshape, xrandr, etc.) I noticed that when I recompiled xft and qt, the configure script of both checked and found those extensions. In fact, qt presented a list at the end of the configure script, describing what will be included, and xrender was there (along with mysql, xrandr support and a few others on my machine).