Open ademilter opened 1 year ago
sekme aktif değil ise interval durabilir. bu sanırım arka plana atılmış pwa'da da duracaktır (sesli düşündüm)
PWA'larin genel problemi, batarya kullaniminin yuksek olmasi. Vakitler
uygulamasi cok complex bir uygulama olmadigi icin kendini hissettirecek kadar etkisi olmadigi dusunulebilir ancak interval
konusu ister istemez etkileyecektir. Ancak buna ragmen damlaya damlaya gol olur
mantigiyla mumkun olan yerlerde memo
/useMemo
kullanmanin faydasi olabilir.
oncesi | sonrasi |
---|---|
![]() |
![]() |
Gorundugu gibi, componentlerin render edilme suresinde gozle gorulur bir degisiklik oldu. Ama yeterli degil tabii.
Page Visibility API kullanilarak, arkaplandayken interval
'in durdurulmasi gibi bir gelistirme de dedigin gibi faydali olabilir.
Ek olarak; zustand
gibi hook-driven bir store kullanmak da faydali olabilir. Boylece uygulamayi bir Provider
ile wrap etmeye gerek kalmadan ve transiently subscription
sayesinde de component'lerde re-render'e neden olmadan islemler gerceklestirilebilir. Ama kesin cozum diyemem. Denemek gerek.
ilgilendiğin için teşekkür ederim @abdullahceylan, zustand kullanmayı deneyeceğim ve performansına bakacağım, duruma göre ilerleriz.
her halükarda arka planda çalışmayı durdurmasını sağlayacağım
Rica ederim @ademilter
Haftasonu biraz zamanim vardi, zustand
'i implement ettim. Ekstra birkac improvement daha yaptim.
Soyle bir sonuc cikti:
oncesi | sonrasi |
---|---|
![]() |
![]() |
![]() |
![]() |
Repo: https://github.com/abdullahceylan/vakitler/tree/feature/performance Commit: https://github.com/abdullahceylan/vakitler/compare/ademilter:vakitler:main...feature/performance
@abdullahceylan süpersin, yeni değerler harika görünüyor. en kısa sürede test edeceğim inş
edit: yaptıklarına baktım da, ciddi büyük değişiklik. çok ciddi emek vermişsin, çok sağol. bunu review edelim sonra sıkı bir test sonra birleştirelim 👍
Kesinlikle detaylica test edilmesi gerekiyor zira ben test icin cok genis bir zaman ayirmadim. Genel olarak fonksiyonelligin calistigindan emin olup gonderdim.
Daha kolay review icin PR olusturdum: https://github.com/ademilter/vakitler/pull/88
Kolay gelsin.
store/common.tsx içinde interval komutu var ve her saniye timer güncelleniyor. haliyle rerender olayı var sanırım. bunu yapmak sistemi yoran bi şey mi, client tarafına bir sorun oluşturur mu (fazla şarj yemesi vs) bakmak lazım. fikri olan paylaşırsa sevinirim.