Opened 18 years ago
Closed 18 years ago
#185 closed Bug (Fixed)
Limit of GUI Controls -> (eat up CPU)
| Reported by: | Xenobiologist | Owned by: | Jon |
|---|---|---|---|
| Milestone: | 3.2.11.10 | Component: | AutoIt |
| Version: | 3.2.11.2 | Severity: | Blocking |
| Keywords: | Limit GUI | Cc: |
Description
Hi,
on my CPU 1,8 Ghz Pentium M XP SP 2 I cannot create 300 GUIs. CPU is 100 %.
#include<WindowsConstants.au3>
;~ Maximum number of GUI windows: No limit ????
HotKeySet('{ESC}', '_end')
HotKeySet('1', '_create')
HotKeySet('2', '_idle')
_create()
Func _create()
For $i = 0 To 1000
GUICreate($i, Random(10, 100, 1), Random(10, 50, 1), _
Random(0, @DesktopWidth - 110, 1), Random(0, @DesktopHeight - 60, 1), _
$WS_POPUP, BitOR($WS_EX_TOOLWINDOW, $WS_EX_TOPMOST))
GUISetBkColor(_randomColor())
GUISetState()
ToolTip($i, 0, 0)
Sleep(5)
Next
EndFunc ;==>_create
Func _idle()
ConsoleWrite('! idle' & @CRLF)
While 1
Sleep(10000)
WEnd
EndFunc ;==>_idle
Func _randomColor()
Return Random(0x000000, 0xFFFFFF)
EndFunc ;==>_randomColor
Func _end()
Exit (0)
EndFunc ;==>_end
Link thread :http://www.autoitscript.com/forum/index.php?showtopic=66925
Mega
Attachments (0)
Change History (10)
comment:1 follow-up: ↓ 2 Changed 18 years ago by Gary
comment:2 in reply to: ↑ 1 Changed 18 years ago by Xenobiologist
Yes, and the funny thing is, after having reached 100 % CPU, switching to the idle function which has only a 10 sec sleep, the CPU stays at 100 %. It seems that after a certain amount of GUIs the organization of them eats up the CPU.
comment:3 follow-up: ↓ 5 Changed 18 years ago by Jpm
According to other AutoIt Dev that's a Window behavior. No bug from AutoIt side !!!
comment:4 Changed 18 years ago by Jpm
- Resolution set to No Bug
- Status changed from new to closed
comment:5 in reply to: ↑ 3 ; follow-up: ↓ 6 Changed 18 years ago by Xenobiologist
Replying to Jpm:
According to other AutoIt Dev that's a Window behavior. No bug from AutoIt side !!!
Window or Windows? I guess, you meant Windows. So, it depends on the CPU and RAM and Windows version how many GUIs I can create? I will try to translate the script into Java or Perl and see how many GUIs I can create that way.
Mega
comment:6 in reply to: ↑ 5 Changed 18 years ago by anonymous
- Resolution No Bug deleted
- Status changed from closed to reopened
Hi,
I tried it with Java. No problem here. I can create as much GUI controls as RAM can handle. Many many more than Autoit can do.
Mega
comment:7 follow-up: ↓ 8 Changed 18 years ago by jpm
can you post the limit you reach RAM/nb GUI
comment:8 in reply to: ↑ 7 Changed 18 years ago by anonymous
Replying to jpm:
can you post the limit you reach RAM/nb GUI
Hi,
even better. :-) It seems to have nothing to do with CPU or RAM. I've got a new Laptop with dual core 2,2 Ghz and 2 GB of RAM (XP SP2) latest Autoit beta. Autoit stopps at ~ 260 GUIs. Java has no problem creating 500 or more GUIs.
import java.awt.Color;
import java.util.Random;
import javax.swing.JFrame;
public class _createGUI {
private JFrame fenster;
public _createGUI(int i) {
fenster = new JFrame("Fenster");
Random generator = new Random();
Color c = new Color(generator.nextInt(256), generator.nextInt(256), generator.nextInt(256));
fenster.setTitle(Integer.toString(i));
fenster.getContentPane().setBackground(c);
fenster.setAlwaysOnTop(true);
fenster.setSize(generator.nextInt(180), generator.nextInt(200));
fenster.setLocation(generator.nextInt(1000), generator.nextInt(700));
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenster.setVisible(true);
}
public static void main(String[] args) {
for (int i = 0; i < 500; i++) {
_createGUI g = new _createGUI(i);
}
}
}
Mega
comment:9 Changed 18 years ago by Valik
- Severity set to Blocking
comment:10 Changed 18 years ago by Jon
- Milestone set to 3.2.11.10
- Owner set to Jon
- Resolution set to Fixed
- Status changed from reopened to closed
Fixed in version: 3.2.11.10
Guidelines for posting comments:
- You cannot re-open a ticket but you may still leave a comment if you have additional information to add.
- In-depth discussions should take place on the forum.
For more information see the full version of the ticket guidelines here.

I thought the limit of GUIs was changed to 16, but the help file states "Unlimited"