Aktywne Wpisy
alberto81 +315
Coś się zmieniło w youtubie, od jakiegoś czasu odtwarzanie filmu powoduje uruchomienie wiatraków, znaczy jest ponadnormatywne zużycie proca, maksymalizacja obrazu ma półsekundowy lag, tak jakby GPU się odciął kompletnie, ma ktoś tak? Jeszcze z jakiś tydzień-miesiąc temu wszystko chodziło superpłynnie. Ktoś to zauważył? NIe chodzi o konkretny procek czy film tylko ogólnie o wzrost zużycia cpu/gpu
#pcmasterrace #windows #linux #firefox
#pcmasterrace #windows #linux #firefox
app.on('ready')
.Przypuśćmy sytuację: Ktoś uruchamia aplikację. Wyświetla mu się okno MainWindow, gdzie klika przycisk "Zaloguj z Google". Okno MainWindow zostaje ukryte i wyświetla mu się okno AuthWindow, gdzie musi wyrazić zgodę na korzystanie z konta Google. Po odpowiedzi od Google wyświetla mu się ponownie MainWindow, a AuthWindow zostaje zamknięte.
Reakcję na kliknięcie przycisku można rozwiązać za pomocą eventu
ipc
(i wtedy też ukryć MainWindow i stworzyć AuthWindow). Ale co ze zdarzeniami typu 'close', 'ready-to-show', danego okna?W tej głównej klasie ciężko byłoby nasłuchiwać na event
this.authWindow.window.on('close', () => this.mainWindow.show())
, skoro this.authWindow.window byłoby niezdefiniowane w momencie uruchamiania aplikacji.Teoretycznie mogę do każdego obiektu klasy z oknem przekazać this głównej klasy, która byłaby rozszerzeniem EventEmittera. Wtedy w klasie z oknem mógłbym zrobić coś w stylu
this.window.on('close', () => this.app.emit('close-authWindow'))
, by następnie w głównej klasie obsłużyćthis.on('close-authWindow', () => this.mainWindow.show())
.Ewentualnie klasy Window mogłyby być rozszerzeniem EventEmittera, tworzyć ich instancje już na starcie aplikacji (żeby móc nasłuchiwać na wysyłane przez te eventy; wtedy w klasie okna
this.window.on('close', () => this.emit('close-authWindow))
), a dopiero w jakiejś funkcjiinit()
tworzyć electronowe BrowserWindow.Tylko czy którekolwiek z tych rozwiązań ma sens i jest w ogóle poprawne? Może w ogóle powinno to być rozwiązane jakoś kompletnie inaczej? Tylko jak?
#webdev #nodejs #javascript