Bug #33646 Screen refresh too frequent/too long
Submitted: 3 Jan 2008 1:52 Modified: 25 Feb 2008 20:19
Reporter: Marc L Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S5 (Performance)
Version:5.0.11 SE Beta OS:Windows (SP2)
Assigned to: Johannes Taxacher CPU Architecture:Any
Tags: screen refresh rendering

[3 Jan 2008 1:52] Marc L
Description:
Just downloaded the beta.  Did a 'reverse engineer' from an existing db with 100+ tables.  Unfortunately the screen constantly refreshes, and each time for a couple seconds, making Workbench unusable.  This happens in the normal version and the special Software Rendering version (output window says: "Using software rendering.")

How to repeat:
From GPU Caps Viewer:

Renderer: Intel 915G
Drivers Version: Unknown
Video Memory Size: N/A
BIOS String: N/A
Current Display Mode: 1920x1200 @ 60 Hz - 32 bpp
CPU:   Intel(R) Pentium(R) M processor 2.00GHz
Core Speed: 2004 MHz
Physical Memory: 2039 Mb
DirectX: Version 9.0c
OpenGL Version: 1.4.0 - Build 4.14.10.4308
Viewport Size: 2048
Texture Size: 2048
Dynamic Lights: 16
Point Sprite Size: 0.0
MSAA Samples 0X
Anisotropic Filtering: 4.0
Multiple Render Targets: 0
ARB(Fixed): 8
Geometry Shader: 0
Vertex Shader: 0
Fragment Shader: 16
Number of OpenGL Extensions: 52
GLSL Version: Not Supported
Max Uniforms: Vertex:0  -  Pixel:0  -  Geometry:0
[3 Jan 2008 4:46] MySQL Verification Team
Thank you for the bug report.

Small client application to create 150 tables:

#include <my_global.h>
#include <m_string.h>
#include <mysql.h>

#define DB_HOST			"localhost"
#define DB_USER			"root"
#define DB_PASSW		""
#define DB_NAME			"test"
#define DB_PORT			3306
#define DB_UNIX_SOCKET	NULL

void main( void )
{
  MYSQL mysql;
  int x;
	char my_sub[255],my_query[255];
 
  mysql_init(&mysql);
  
   
  if (!mysql_real_connect(&mysql,DB_HOST,DB_USER,DB_PASSW,DB_NAME, DB_PORT,DB_UNIX_SOCKET,0))
  {
    printf("Error: %s\n",mysql_error(&mysql));
    return;
  }
  else
	printf("Connected to the server: %s\n",mysql_get_server_info(&mysql));

  for (x = 0; x <= 150; x++)
  {
	  int10_to_str((int) x,strmov(my_sub,"Create Table if not exists tb"), 10);
    strxnmov(my_query,sizeof(my_query)-1,my_sub," (id int not null auto_increment primary key, name varchar(200))engine=MyISAM",NullS);
	
    if (mysql_query( &mysql, my_query) )
	  {
      printf("Error (query): %s\n", mysql_error( &mysql ));
      mysql_close( &mysql );
      return;
	  }
  }
 mysql_close(&mysql);
}
[18 Jan 2008 5:58] Marc L
I just upgraded to the new beta, v5.0.12.  The same issue still persists.  Both in the normal version and the Software Rendering version.
[20 Feb 2008 17:11] Andreas Götz
This does not only for reverse engineering. Also using the UI (e.g. drag&drop) is horribly slow- for me unusable, even on Dual Core.
[21 Feb 2008 18:21] Johannes Taxacher
performance of software rendering mode has been increased a lot and handling more than 100 tables doesn't affect performance very much.
[25 Feb 2008 20:19] Peter Lavin
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly, and will be included in the next release of the relevant products.
Added to the changelog.