Text rendering artifacts

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Post Reply
Message
Author
Daniel Santos
Space Floater
Posts: 30
Joined: Sun Nov 15, 2009 8:15 am

Text rendering artifacts

#1 Post by Daniel Santos »

It would appear that in the text (of only GiGi components?) there are artifacts in the last row of pixels. They are always the same for each individual character (at least, once you run the program, haven't check to see if it changes between runs). Below are some samples.

http://loudmouth.javamonger.org/freeorion/fonts1.png
http://loudmouth.javamonger.org/freeorion/fonts2.png
http://loudmouth.javamonger.org/freeorion/fonts3.png

Image
Image
Image

EDIT: I guess BB doesn't like png files?


In the interest of (my) time, here are my dependencies. If you need more specific info, please ask. I'm running Gentoo with a mix of stable & unstable flags. I get the same problem when using other fonts (e.g., system fonts).

Code: Select all

home/daniel/proj/freeorion/FreeOrion/build
(daniel@loudmouth)$ ldd freeorion
        linux-vdso.so.1 =>  (0x00007fff553c2000)
        libGiGi.so => /home/daniel/local/freeorion-dev/lib/libGiGi.so (0x00007f7c3f965000)
        libGiGiOgre.so => /home/daniel/local/freeorion-dev/lib/libGiGiOgre.so (0x00007f7c3f747000)
        libopenal.so.1 => /usr/lib64/libopenal.so.1 (0x00007f7c3f4fc000)
        libalut.so.0 => /usr/lib64/libalut.so.0 (0x00007f7c3f2f4000)
        libOgreMain.so.1.7.3 => /usr/lib64/libOgreMain.so.1.7.3 (0x00007f7c3eb2e000)
        libogg.so.0 => /usr/lib64/libogg.so.0 (0x00007f7c3e927000)
        libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x00007f7c3e6fa000)
        libvorbisfile.so.3 => /usr/lib64/libvorbisfile.so.3 (0x00007f7c3e4f1000)
        libBulletDynamics.so.2.78 => /usr/lib64/libBulletDynamics.so.2.78 (0x00007f7c3e28f000)
        libBulletCollision.so.2.78 => /usr/lib64/libBulletCollision.so.2.78 (0x00007f7c3dfa7000)
        libLinearMath.so.2.78 => /usr/lib64/libLinearMath.so.2.78 (0x00007f7c3dd8b000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f7c3db73000)
        libboost_date_time-mt-1_47.so.1.47.0 => /usr/lib64/libboost_date_time-mt-1_47.so.1.47.0 (0x00007f7c3d95f000)
        libboost_filesystem-mt-1_47.so.1.47.0 => /usr/lib64/libboost_filesystem-mt-1_47.so.1.47.0 (0x00007f7c3d73c000)
        libboost_serialization-mt-1_47.so.1.47.0 => /usr/lib64/libboost_serialization-mt-1_47.so.1.47.0 (0x00007f7c3d4c4000)
        libboost_signals-mt-1_47.so.1.47.0 => /usr/lib64/libboost_signals-mt-1_47.so.1.47.0 (0x00007f7c3d2ad000)
        libboost_system-mt-1_47.so.1.47.0 => /usr/lib64/libboost_system-mt-1_47.so.1.47.0 (0x00007f7c3d0a9000)
        libboost_thread-mt-1_47.so.1.47.0 => /usr/lib64/libboost_thread-mt-1_47.so.1.47.0 (0x00007f7c3ce8a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7c3cc6d000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f7c3ca64000)
        libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.1/libstdc++.so.6 (0x00007f7c3c756000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f7c3c4d4000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7c3c2bd000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7c3bf55000)
        libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x00007f7c3bce1000)
        libGL.so.1 => /usr/lib64/opengl/nvidia/lib/libGL.so.1 (0x00007f7c3b9cf000)
        libSM.so.6 => /usr/lib64/libSM.so.6 (0x00007f7c3b7c6000)
        libICE.so.6 => /usr/lib64/libICE.so.6 (0x00007f7c3b5a9000)
        libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007f7c3b26b000)
        libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007f7c3b058000)
        libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f7c3adbb000)
        libjpeg.so.8 => /usr/lib64/libjpeg.so.8 (0x00007f7c3ab80000)
        libpng15.so.15 => /usr/lib64/libpng15.so.15 (0x00007f7c3a952000)
        libtiff.so.3 => /usr/lib64/libtiff.so.3 (0x00007f7c3a6ec000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7c3a4e8000)
        libXt.so.6 => /usr/lib64/libXt.so.6 (0x00007f7c3a283000)
        libXaw.so.7 => /usr/lib64/libXaw.so.7 (0x00007f7c3a011000)
        libfreeimage.so.3 => /usr/lib64/libfreeimage.so.3 (0x00007f7c39cd2000)
        libzzip-0.so.13 => /usr/lib64/libzzip-0.so.13 (0x00007f7c39aca000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f7c4184f000)
        libnvidia-tls.so.285.05.09 => /usr/lib64/opengl/nvidia/lib/libnvidia-tls.so.285.05.09 (0x00007f7c398c7000)
        libnvidia-glcore.so.285.05.09 => /usr/lib64/libnvidia-glcore.so.285.05.09 (0x00007f7c37686000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f7c37481000)
        libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007f7c37262000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f7c37052000)
        libjbig.so => /usr/lib64/libjbig.so (0x00007f7c36e46000)
        libXmu.so.6 => /usr/lib64/libXmu.so.6 (0x00007f7c36c2c000)
        libXpm.so.4 => /usr/lib64/libXpm.so.4 (0x00007f7c36a1a000)
        libIlmImf.so.6 => /usr/lib64/libIlmImf.so.6 (0x00007f7c36741000)
        libHalf.so.6 => /usr/lib64/libHalf.so.6 (0x00007f7c364fe000)
        libIex.so.6 => /usr/lib64/libIex.so.6 (0x00007f7c362de000)
        libmng.so.1 => /usr/lib64/libmng.so.1 (0x00007f7c3606a000)
        libopenjpeg.so.1.4 => /usr/lib64/libopenjpeg.so.1.4 (0x00007f7c35e4a000)
        libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007f7c35c46000)
        libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007f7c35a40000)
        libIlmThread.so.6 => /usr/lib64/libIlmThread.so.6 (0x00007f7c35838000)
        liblcms.so.1 => /usr/lib64/liblcms.so.1 (0x00007f7c355fe000)
freetype was built with the following flags:

Code: Select all

media-libs/freetype-2.4.6 USE="X bzip2 doc fontforge static-libs -auto-hinter -bindist -debug -utils"

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Text rendering artifacts

#2 Post by Geoff the Medio »

Looks like the font textures are shifted a bit, as the same extra pixels seem to appear below different versions of the same letter (at the same size). You might have a graphics driver issue. If updating doesn't fix that, I can't suggest anything else...

Daniel Santos
Space Floater
Posts: 30
Joined: Sun Nov 15, 2009 8:15 am

Re: Text rendering artifacts

#3 Post by Daniel Santos »

OK, but it's the only visual artifact I'm seeing in anything I'm running right now other than weirdness with the adobe flash player (what's new there, huh?) -- but this could definitely be the NVidia proprietary driver as well. When there's a flash object, say a youtube video, even if it's in a tab that isn't visible, it tends to bleed through to any completely black pixel on my screen. My only work around is to go to the icecat window, select the tab with the flash video on it and then move it off of the screen. So if I get that problem fixed, I'll let you know if FO still has the font artifacts.

Daniel Santos
Space Floater
Posts: 30
Joined: Sun Nov 15, 2009 8:15 am

Re: Text rendering artifacts

#4 Post by Daniel Santos »

Same thing on my laptop. My laptop is running Debian Mint and my desktop is running Gentoo, so it's not the distro and I compiled it from scratch on that machine. The commonality is that they both are running NVidia graphics cards. I would venture to guess that it's something in FO and it simply doesn't manifest on all rendering targets. I'll get back to you on driver versions.

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Text rendering artifacts

#5 Post by o01eg »

I also have this bug with my NVIDIA. I have never seen such problems in other OpenGL games.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Text rendering artifacts

#6 Post by o01eg »

This bug also appears with nouveau.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

tiger
Space Krill
Posts: 1
Joined: Sat Mar 03, 2012 8:25 am

Re: Text rendering artifacts

#7 Post by tiger »

its not nvidia specific, same thing on gallium-radeon, x64 :?

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: Text rendering artifacts

#8 Post by o01eg »

Then it looks as bug with x64.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Post Reply