Menu

#854 SH3D extremely slow on high resolution screen

v_5.x
open
None
1
2024-01-15
2018-10-07
dwbmb
No

Hello. I am using core i7/nvidia740 laptop and i7/nvidia1070 PC. SweetHome 3D works like a charm on that old laptop but terribly on PC, probably because 4K screen (while laptop is just FullHD). While 3D view is working just great the layout is very laggy using when using tools or just moving around. See the video:

https://youtu.be/hxJVGmyX8Dw

Discussion

  • Emmanuel Puybaret

    Please check how it works under Java 10 or 11: install Java, download Sweet Home 3D Executable JAR and run it by double-clicking on the Jar file.

     
  • Dominik Jacques

    Dominik Jacques - 2019-02-06

    Good day, great job with the software.

    I experience the same problem in version 6.1.2.

    I have a 4K monitor. The 3D view works like charm. However, editing the layout is very slow. Same as in the video above.

    The problem is unrelated to the file content. It occurs even when trying to build a wall in a new file.

    The About screen gives me:
    Java version 1.8.0_202 - 64bit - 0.1 / 1.8 GB
    Java 3D version 1.6.1

    I tried running SweetHome3D-6.1.2.jar but it fails with
    Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!

    I am running under linux with:

    openjdk version "11.0.1" 2018-10-16
    OpenJDK Runtime Environment (build 11.0.1+13-Ubuntu-3ubuntu118.04ppa1)
    OpenJDK 64-Bit Server VM (build 11.0.1+13-Ubuntu-3ubuntu118.04ppa1, mixed mode, sharing)
    

    I am willing to perform tests, let me know how I can help to resolve this,

    Thanks

     
  • Emmanuel Puybaret

    Strange that the JAR file doesn't work in your case. I just tried it again under Ubuntu 18.04 with OpenJDK 11.0.2 and didn't have problems.
    As suggested in the request #908 could you try adding -Dsun.java2d.pmoffscreen=false -Dsun.java2d.opengl=true parameters in the java command of the Sweet Home 3D script in the installer version?

     
  • Dominik Jacques

    Dominik Jacques - 2019-02-08

    Hi Emmanuel, thanks for the quick reply,

    I installed Oracle java to remove potential problems that could originate from openJDK.

    Here is the version I ran the test in:

    java -version
    java version "11.0.2" 2019-01-15 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
    

    This time, the .jar file did not crash and Sweethome3d opened. Unfortunately, I experienced the same problem as before. Drawing a wall or moving something in the layout panel is very very slow. The 3D view works fine.

    Here is a paste of all the messages I got:

    java -jar SweetHome3D-6.1.2.jar 
    WARNING: An illegal reflective access operation has occurred
    WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file:/home/dominik/Downloads/SweetHome3D-6.1.2.jar) to method sun.awt.AppContext.getAppContext()
    WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
    WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
    X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 0, pending (open in creation order): 1)
    X11Util: Open X11 Display Connections: 1
    X11Util: Open[0]: NamedX11Display[:0, 0x7f92f4005340, refCount 1, unCloseable false]
    

    As suggested, I tried adding-Dsun.java2d.pmoffscreen=false -Dsun.java2d.opengl=true when calling the .jar file. It did nothing.

    I then tried running SweetHome3D-5.7.jar. A version I had previously working on the same computer and which worked well once you got used to the tiny text and menus.
    To my surprise, it suffered from the same sluggishness as the 6.1.2 version. This suggests that the problem lies somewhere in my installation and not in sweethome3d.

    I am not very knowledgeable of all things java and I am a bit puzzled as to how to proceed from there on. Are there any optimization options I should try during the call to Sweethome3d? It seems like it is an important fact that the 3D view works fine. Does that indicate anything special I should be investigating?

    Many thanks

     
  • Dominik Jacques

    Dominik Jacques - 2019-02-09

    Ok, several tests later, I have semi-resolved my problem.

    I could get it to work using the following combination:
    Installed either one of :
    Oracle Java 8 using the webupd8team/java ppa
    or
    Oracle Java 11 using the linuxuprising/java ppa
    and then then run

    java  -Dsun.java2d.opengl=true -jar SweetHome3D-6.1.2.jar
    

    The -Dsun.java2d.opengl=true is the key to make Sweethome3d react behave normally. Without it, sh3D becomes super slow.

    The option-Dsun.java2d.pmoffscreen=false does not appear to do anything for me.

    So now I have Sweethome3D functionnal again. Unfortunately, things are still not perfect. When I open the program, all menues and items do not display correctly. They do only appear correctly after I pass over them with the mouse. After this, the program is very much useable.

    Anyone has any idea why this would happen?

    Thanks

     
  • Emmanuel Puybaret

    On my side, when I tried -Dsun.java2d.opengl=true argument, I had the same issue you reported. It might be faster but not really handy :-(
    There are also other Java 2D properties which could worth a try.

     
  • Honza

    Honza - 2019-03-16

    I ran into this problem too on my laptop (specs below) with SH3D 6.1.2. I tried various Java versions and the ultimate cure for me seemd to be Java 11 (OpenJDK) with -Dsun.java2d.opengl=true applied. 2D is then buttery smooth, although wall moving is little bit choppy. This seems normal to me though. When I was using Java 1.8 (OpenJDK) the 2D rendering was gradually slowing down even when using -Dsun.java2d.opengl=true. The interesting thing was, that the usage of CPU/RAM was normal whole time. So thanks for the tip!

    Laptop specs

    • Fedora 29
    • Intel Core i7 5600U
    • 12 GB DDR3 RAM
     

    Last edit: Honza 2019-03-16
  • Albrecht Lohofener

    Any news here?

    I have the same issue but with a regular display, Ubuntu 18.04 and the Sweet Home 3D snap version (current 6.1.2). I tested it on two laptops with different screen resolution (full HD and lower) and different graphic cards both with the same result. Under Windows (on the same computer) Sweet Home 3D is working absolutely smooth. The option -Dsun.java2d.opengl=true improves the situation a bit but creates some graphic display issues.

     
  • Dominik Jacques

    Dominik Jacques - 2019-06-04

    Quick answer to Albrecht and Honza: no, news on my side. Still have the problem.

    I did a bunch of tests with java 2D properties and abandoned. I eventually got used to the fast but disfunctional display and could finish my project.

    Still, it would be nice to get a workaround this issue. Given the above discussion, this problem looks more like a java/ubuntu/linux issue than a SweetHome3D issue. Maybe this discussion should be brought to another forum?

    One path for a solution that I did not investigate is the fact that the version of SweetHome3D 5.2 that comes with the program installer on linux mint worked on its first installation. It was fast and did not suffer from graphic display issue. It would be worthwhile to see what happens when this package first gets installed.

    After tinkering with my Java installation, I cannot get the same SH3D 5.2 to run correctly on the same machine. This points to something having to do with the java installation. Anyone knows anything about java installations?

    Good luck, I may look in to this again later but other projects are currently keeping me busy.

     
  • Dominik Jacques

    Dominik Jacques - 2019-11-23

    I am happy to report that something somewhere got updated and that version 6.2 of sh3d with

    java  -Dsun.java2d.opengl=true -jar SweetHome3D-6.2.jar
    

    works just fine.

    The opening panel of sh3d still has dispay issues but everything else now appears correctly and the software is fully functionnal.

    If others can replicate this result, I believe the issue could be closed.

    I am running Linux mint 19 with all updates and:

    java --version
    java 11.0.2 2018-10-16 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.2+7-LTS)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+7-LTS, mixed mode)
    
     
    • Michael Pienaar

      Michael Pienaar - 2019-12-08

      SweetHome3D-6.2.jar runs as above on my Linux Mint 19.2 system with Oracle Java 10 jdk installed as well as Java 11 OpenJDK from the repo. SweetHome3D-6.2.jar does not run with the OpenJDK 11 binary on my computer though. But when I point to the sun java binary it works fine. My startup script is as follows:

      #!/bin/sh
      
      /usr/lib/jvm/java-10-oracle/bin/java -Xmx2g -Dsun.java2d.opengl=true -jar /home/<my_applications_folder>/SweetHome3D/SweetHome3D-*.jar
      

      I haven't tried SweetHome3D under Oracle java 11 yet. But with OpenJDK 11 sh3d crashes on startup with the following output:

      System info:

      java -Xmx2g -Dsun.java2d.opengl=true -jar SweetHome3D-6.2.jar 
      WARNING: An illegal reflective access operation has occurred
      WARNING: Illegal reflective access by javax.media.j3d.JoglPipeline (file :/home/user/Programs/SweetHome3D/SweetHome3D-6.2.jar) to method sun.awt.AppContext.getAppContext()
      WARNING: Please consider reporting this to the maintainers of javax.media.j3d.JoglPipeline
      WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
      WARNING: All illegal access operations will be denied in a future release
      Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
      

      sh3d splash image appears as six square tiles, but the application work fine.

      ~~~
      Sysinfo:

      SYSTEM INFORMATION
      Running LinuxMint Linux, the LinuxMint 19.2 (tina) release.
      GNOME: 3.28.2 (Ubuntu)
      Kernel version: 4.15.0-72-generic (#81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019)
      GCC: 7 (x86_64-linux-gnu)
      Xorg: 1.19.6

      CPU INFORMATION
      GenuineIntel, Intel(R) Core(TM) i7 CPU L 640 @ 2.13GHz

      MEMORY INFORMATION
      Total memory: 7768 MB
      Total swap: 3073 MB

       
  • Aritz

    Aritz - 2020-04-29

    Same problem here with Mint 19.3. I'm running just FullHD resolution, but the program was totally slown down after adding some furniture pieces to my plan, moving a furniture piece will take ages.

    Adding -Dsun.java2d.opengl=true to the java launcher improves the whole thing, but makes the program intro dialog background look as a mosaic:

    Also sometimes the aerial 3D view goes blank until I click in the 3d view area again.

    Running the program with OpenJDK 11 causes Michael's issue.

    SYSTEM INFORMATION
    Linux Mint 19.3 5.3.0-51-generic kernel
    Cinnamon: 4.4.8
    Processor: Intel Core i5-8250U @ 1.60GHz Intel HD Graphics 620
    RAM: 16 GB
    SSD Disk

     

    Last edit: Aritz 2020-04-29
  • 5eda032e-b108-405a-8c53-19dbeb97

    Quick note: you have to add -Dsun.java2d.opengl=true at top of exec command. It didn't work for me in first place because i was trying to add it between -Dcom.eteks.sw.. and -open "$1".

    /usr/share/java/sweethome3d

    exec "${JAVA_EXEC}" \
         -Dsun.java2d.opengl=true \
         -classpath "${APP_CLASSPATH}" \
         ${JAVA_OPTS} \
         -Dcom.eteks.sweethome3d.applicationId=SweetHome3D#Installer \
         com.eteks.sweethome3d.SweetHome3D \
         -open "$1"
    
     
  • Christopher Tremblay

    I have the same problem running the software on Windows. It's made especially worst now that I'm running a 4k monitor. The software really struggles to render the 2D screen while the 3D screen moves about without any issues. The 2D raster on the other hand crawls. I've tried to pass some arguments to the .exe file but that didn't work. I also tried to load it with javaw.exe and provide the argument, but it's complaining that the jar file isn't valid. Whelp.

     
    • Emmanuel Puybaret

      Christopher, what version of Sweet Home 3D did you try? The last version 6.5 is bundled with OpenJDK 11 for 64 bit architecture and Java 8 for 32 bit architecture. It could worth trying the 64 bit version.
      By the way, javaw.exe must be followed by -jar and the Jar file.

       
      • Christopher Tremblay

        I'm using the latest version. From the about box I'm seeing the following:

        Java version 1.8.0_202 - 32bit - 0.1 / 0.6 GB provided by Oracle Corporation Java 3D version 1.5.2 - NATIVE_OGL PDF print provided by iText SVG export provided by FreeHEP SVG path compilation provided by Batik Photo rendering provided by SunFlow

        I can try the 64bit version, but I doubt that makes a difference. It feels to me like the 2D raster is all done in software instead of using HW acceleration.

        I did try "-ja"r ... with javaw.exe. it comes back with invalid or corrupt jarfile which makes little sense. Also, I'm not entirely sure what the EXE does if you could execute the app directly like this. The EXE is large enough that it makes me think that it does more than simply execute a command.

         
        • Emmanuel Puybaret

          Please try the 64 bit version. It's bundled with an other Java runtime which might fix your issue.

           
          • Christopher Tremblay

            I downloaded Java 15/64bit (Oracle version), and re-downloaded the jar separately from here and added the option and that still failed to make any difference. The performance on 2D rendering is still trash. :(

             

            Last edit: Christopher Tremblay 2021-03-09
  • Dominik Jacques

    Dominik Jacques - 2021-03-08

    Also with a 4k monitor here.

    I found that disabling fractional scaling really helps making sh3d 2D editor run at a reasonable speed. Maybe you can give this a try?

    I am on linux where the default is to run openJDK. Installing Sun java is a must to use sh3d. I am not sure what JRE is installed by default on windows but you may want to check this?

     
    • Christopher Tremblay

      Where is that option?

       
  • Vadim Goryunov

    Vadim Goryunov - 2021-03-19

    Same issue on my Windows 10 PC with 4K monitor. Actually I have 2 different Win10 PCs connected to one monitor (I am able to switch between them) and both have issues.
    Must be something with 4K resolution. However, I tried changing the resolution down to 1920x1080 and it didn't help.

    Using the latest
    Sweet Home 3D ® Version 6.5
    OpenJDK version 11.0.10 - 64bit - 0.1 / 11.5 GB provided by Azul Systems, Inc.
    Java 3D version 1.6.1 - JOGL 2.4.0-rc-20210111 provided by JogAmp Community

    Note: I have tried option -Dcom.eteks.sweethome3d.no3D=true and it works amazingly fast, but it does not properly show objects.

    Is Paid version on MS Store any different in regards to this issue? I would pay if I knew it does not have this issue

     

    Last edit: Vadim Goryunov 2021-03-19
    • Emmanuel Puybaret

      Paid version uses the same libraries. Just think how bad would it be to say "please pay to have no bugs" to users (and worse to contributors!).

       
  • Dorbah

    Dorbah - 2024-01-15
    [Desktop Entry]
    Version=1.0
    Name=Sweet Home 3D
    GenericName=Interior 2D design application with 3D preview
    GenericName[de]=Innenraumplaner
    Comment=Interior design Java application for quickly choosing and placing furniture on a house 2D plan drawn by the end-user with a 3D preview
    Comment[de]=Innenraumplaner zum Auswählen und Platzieren von Möbeln auf einem 2D-Hausplan mit 3D-Vorschau
    #Exec=sweethome3d %U
    #Exec=env GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
    Exec=env JAVA_TOOL_OPTIONS="-Dcom.eteks.sweethome3d.j3d.useOffScreen3DView=true" sweethome3d %U
    Icon=sweethome3d
    StartupNotify=true
    StartupWMClass=com-eteks-sweethome3d-SweetHome3D
    Terminal=false
    Type=Application
    Categories=Graphics;2DGraphics;3DGraphics;
    Keywords=interior;design;2D;3D;home;house;furniture;java;
    MimeType=application/sweethome3d;
    
     

Log in to post a comment.

MongoDB Logo MongoDB