Skip to content

Bug: on Windows, no more than 5-6 GUI instances can be opened simultaneously #52

Description

@attilammagyar

Environment

OS: Windows
DAW: any
JS80P version: any

Reproduction

  1. Create 7 instances of JS80P.
  2. Open the GUI for all of them.

Expected result

All 7 GUI instances should open and operate normally.

Actual result

  1. The host application has trouble opening new dialog windows or rendering UI elements, it might even crash.
  2. If the 7th JS80P GUI can open, it will be missing many of the knobs and other UI elements.

Notes

JS80P has around 1500 GUI objects, each one created as a Win32 winuser.h UI element (HWND). Turns out, a single process can have no more than 10 000 HWND objects alive simultaneously, and a single graphical session may have no more than around 32 700. Thus, the 7th instance will not be able to instantiate every UI element, and also, the host's process will run out of window handles.

This will require rethinking the widget primitives and the OS-specific implementations so that it could run with a single UI element, and do all the drawing and event dispatching to the widget hierarchy internally. This would also solve #50 for good.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions