gama-platform / gama.old

Main repository for developing the 1.x versions of GAMA
GNU General Public License v3.0
302 stars 99 forks source link

Freeze of GAMA when vertically resizing the main window (with at least one openGL display) #3195

Closed benoitgaudou closed 2 years ago

benoitgaudou commented 2 years ago

Describe the bug GAMA freezes when resizing the main window (displaying 2 OPENGL displays) (seems linked to a resize of one display).

To Reproduce Steps to reproduce the behavior:

  1. Run the model Building HeatMap.gaml > experiment Show heatmap.
  2. Resize the main window

Screenshots

Screenshot 2021-09-13 at 12 20 30

Desktop (please complete the following information):

agrignard commented 2 years ago

I don't have it on Mac Catalina 10.15.7

AlexisDrogoul commented 2 years ago

Cant reproduce it either... Would it be linked to specific preferences ? Can you show your display preferences ?

AlexisDrogoul commented 2 years ago

As I wrote in #3199, the really worrying fact about all this is here: https://jogamp.org/cgit/jogl.git/log/ (more than one year without any commit...)

RoiArthurB commented 2 years ago

Not sure if it's related, but the experiment Library Models > Vizu and User Interaction > Visualisation > Charts > models > Ant Foraging (Charts Examples).gaml makes GAMA crash when the layout try to split. It may be a margin behavior of the OpenGL window being resized over some Java2D windows...

Here's the crash log


EDIT : The log says GAMA 1.8.1, but it's the 1.8.2 freshly built (not within Eclipse, not Github released, locally built with maven) on MacOS 11 :)

AlexisDrogoul commented 2 years ago

I have implemented a workaround that forces the main window to resize its views asynchronously (i.e. accumulate the resize events and deliver them all at once when the mouse is released). It is enabled by default on macOS, but can activated on other environments (with slow graphics, for instance) using the -Duse_delayed_resize=true flag, documented in ummisco.gama.dev.utils.FLAGS.java (and that we should document somewhere with the other flags).