| Deutsch English Français Italiano |
|
<102rtho$ubej$4@solani.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!feeder3.eternal-september.org!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!usenet.goja.nl.eu.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: Mild Shock <janburse@fastmail.fm> Newsgroups: sci.math Subject: Why do IDEs have Power Save mode? (Re: Java and OpenJFX or JavaScript and WHATWG?) Date: Tue, 17 Jun 2025 16:19:37 +0200 Message-ID: <102rtho$ubej$4@solani.org> References: <102rter$ubej$2@solani.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Tue, 17 Jun 2025 14:19:36 -0000 (UTC) Injection-Info: solani.org; logging-data="994771"; mail-complaints-to="abuse@news.solani.org" User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 SeaMonkey/2.53.21 Cancel-Lock: sha1:Tb2MS3YGy9kY2H+Zaei/Yj41NUk= In-Reply-To: <102rter$ubej$2@solani.org> X-User-ID: eJwNyskBwCAIBMCWlmvBchRD/yXE90wYhZ3OoMfEQA6yZEfL+cpEIGvsa9db47NAsEHi3d0Z616Wqmk+6+wfNqAUzQ== The restart maybe explains why IntelliJ has a Power Safe mode, but I am not 100% sure about the details. But if the end-user behaviour is not compatible with the chosen delays, he might tear down the tasks again and again. This could use compute power. Some incremental tasks or tasks that block (i.e. the "lag") could be a solution. Incremental tasks that do only small work and not big work, are less perceived as blocking (i.e. the lag). But a ghost text that maybe involves calling an Artificial Intelligence API is probably in nature not a small work task, in the sense that it would occupy a short work time, the Artificial Intelligence API server might be busy and cause a task slow down. Disclaimer: I am doing some brain writing here... Mild Shock schrieb: > Somebody wrote: > > > noticeable lag waiting for completion candidates > > A lag wouldn’t be a problem. I guess the problem > is that the GUI gets blocked, right? If your GUI > has tasks and timers, you could try the follow: > > - Debouncing Timer: To start ghost after lets > say 1000 ms, the debouncing is to assure that > the ghost appears after the last edit and not > after the first edit. > > - Abortable Task: The ghost is then computed > asynchronously via a task. But this task is > again tied to the debouncing, means the task > gets aborted if the end-user shows impatience. > > I checked a couple of GUI tools to do that. Had > rather bad experience with Java and OpenJFX, so I > am returning back to the JavaScript and WHATWG > with my ongoing research. > > SVG tags were not working out the box > https://wiki.openjdk.org/display/OpenJFX/Main > > No runLater(), any task can any time modify the DOM! > https://whatwg.org/ > > But maybe there are other GUI frameworks which > can do it. If tasks are also used for highlighting > I belive they can be also run asynchronously without > explicitly juggling with some queues, > > just await the asynchrous routine that the task > would execute, in a instrumentation loop, and ignore > the aborts, since an abort is now good news and not > bad news, it only indicates that > > the end user did an edit and that the task > will be restartet.