- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Meggyi001: RTX 5060 - Az új népkártya?
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- Lauterbrunnen
- Gurulunk, WAZE?!
- btz: Internet fejlesztés országosan!
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
martonx
veterán
válasz
Tomi_78 #7772 üzenetére
Két dolog:
1. tanuljuk már meg végre, hogy mi a különbség a let és const között
ez a halálom, amikor valaki a legalapabb dolgot is fogalmatlanul használja.
2. nekem ez a megoldás sokkal szimpatikusabb: https://stackoverflow.com/questions/19764018/controlling-fps-with-requestanimationframe minden olyan megoldástól a hideg kiráz, ami animációval kapcsolatos és settimeout / setinterval van benne. Ezt a megoldás még kombinálnám annyival, hogy magát az animációt kiszervezném egy külön worker thread-be, mert ezekben az esetekben az a gond, hogy ha komplex az animáció / nagyon gyenge a futtató vas, akkor lehet, hogy több frame-et is át fogsz lépni, mint eredetileg tervezted. -
Rickeffe
aktív tag
válasz
Tomi_78 #7745 üzenetére
https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame
The number of callbacks is usually 60 times per second, but will generally match the display refresh rate in most web browsers as per W3C recommendation.Böngészőtöl függ.
Először végeznék egy mérést ami megadja az aktuális kb fps-t. Aztán ahhoz viszonyítanék. -
martonx
veterán
válasz
Tomi_78 #7741 üzenetére
a requestAnimation frame a képernyőfrissítéshez igazodik, nem a gép sebességéhez. Simán lehet, hogy a te gyengébb gépednek 120Hz-es kijelzője van, a másik erősebb gépnek meg 60Hz-es. Ebben az esetben nálad 120fps-t fog eredményezni a requestAnimationFrame, a másik gépen meg 60fps-t.
A SetInterval felejtős, teljesen megbízhatatlan.
requestAnimationframe-nél így tudod fixálni az fps-t, hogy mindenhol azonos sebességet adjon: https://stackoverflow.com/questions/19764018/controlling-fps-with-requestanimationframe
Nyilván fixálni csak lefelé tudod, azaz 60fps-től lefelé. -
válasz
Tomi_78 #7741 üzenetére
Szia!
A requestAnimationFrame lényege, hogy mindenhol ugyanolyan sebességgel fusson. Az, hogy ott lassabban futott vsz csak valami lokális ok miatt lehetett (pl sok tab, máshol is használta valami aktívan a grafikus drivert, vagy valami egyéb). Az is lehet, hogy nem volt lassabb, csak voltak olyan dolgok, ami miatt más volt a limitáló és amiatt tűnt lassabbnak.
írasd ki a képernyő szélére az fps-t, és látni fogod, hogy tényleg lassabb-e. -
-
-
-
válasz
Tomi_78 #7603 üzenetére
Nem ez nagyjából
setInterval(17)
-tel egyenlő, de
- ha a szkripted futása több, mint 16 ms, akkor összetorlódnak az eseményeksetInterval
-nál, míg arequestAnimationFrame
throtlingol
- ha háttérben van a canvas, asetInterval
akkor is triggerel, míg arequestAnimationFrame
nem (nem eszi feleslegesen az erőforrásokat). Ezzel ellentétben a háttérben futósetInterval
szépen torlódik, és Ph-reklámokban is látható "rohanással" éri utol magát, amikor újra előtérbe kerül.
- arequestAnimationFrame
visszaad egyrequestID
-t, amivel könnyebb szüneteltetni az animációt, mint asetInterval
-lal.
- arequestAnimationFrame
-ben regisztrált callback megkapja az aktuális időt (ha van a callback függvénynek argumentuma), így nem kell a függvényben szenvedni az előállításával -
-
-
-
gary89
csendes tag
válasz
Tomi_78 #7496 üzenetére
- a szamlal function üres, nem csinál semmit sem, így undefined lesz JS oldalon a valami.
- az extra // bezavarhat html parseoláskor (bár a modern böngészők tudnak vele együtt élni)
- a return $num; okozhatja a furcsa viselkedést, ott egy ilyen kellene, hogy helyes legyen:echo 'return '. $num . ';' ;
így a szamol helyes értékkel térne vissza és később nem kellene az echo $num -
válasz
Tomi_78 #7488 üzenetére
Értem.
Azért nem írja ki, mert a $num változót az if szkópján belül deklarálod.
Tegyél egy $num=0 értékadást az if elé, így elérhető lesz az ifen kívülről is.De ha rám hallgatsz, becsomagolod az egészet egy szamlal() függvénybe, ami elvégzi a kívánt műveletet, majd a végén visszaadja a $num értékét.
Ezután csak meg kell hívnod a.függvényed ahol számlálni akarsz, esetedben a javascript tagon belül, és így nem kell aggódnod a változó szkópok miatt, és a globális névteret sem szennyezed be.
Tényleg el kellene döntened, hogy user szintű vagy globális számlálót akarsz, mert a jelenlegi megvalósítás az egy globális számlálót valósít meg, és az összes usered ugyanazt a számlálót fogja növelni.
Persze, ha ez egy látogató számláló akkor ez a kívánt viselkedés.
Miért van szükséged javascriptre?
Ezt az értéket simán kiírhatnád a bodyba is PHPvel.Bocsi a hiányzó formázásért, telefonról vagyok.
-
válasz
Tomi_78 #7486 üzenetére
Mit jelent az, hogy nem működik?
Nem ír fájlba, nem számol, hibát ad, nem írja ki a JS amit szeretnél?Ha csak a kliensnek a saját számlálóját kell kezelni akkor JSsel cookieba vagy local storagebe el tudod menteni.
Ha kell a szerveren is az adat akkor marad amit csináltál, bár célszerű lenne MySQLbe tenni az adatot, illetve ez nem a PHP topik.
-
cSuwwi
senior tag
válasz
Tomi_78 #7449 üzenetére
Ha "nem erti" akkor nem huzza be a js filet (undefined lesz), eleresi ut helyes?
Ha bongeszos a cucc, akkor chromeban nyitsz egy console-t, es megnezed a net fulon egyaltalan betolti-e es 200-as valasszal, majd ha beirod a consolra hogy Howl() nem undefinedet kene adnia.
Ha react/react native vagy hasonlo alapu akkor a debuggerben latod mi a gondja.1 perc alatt osszedobhato vele egy js player: https://jsfiddle.net/h2y0zsg6/
Új hozzászólás Aktív témák
- Lakáshitel, lakásvásárlás
- iPhone topik
- Árat emel a Spotify
- Nintendo Switch 2
- Honor Magic7 Pro - kifinomult, költséges képalkotás
- Autós topik látogatók beszélgetős, offolós topikja
- Gaming notebook topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Hyundai, Kia topik
- Elvette a PCI Express 5.0-t az egyes alaplapjaitól a Gigabyte
- További aktív témák...
- Google Pixel 9a 128gb - Makulátlan, iPon garancia, akár beszámítással
- Samsung PM9F1 1TB (980 PRO) Gen4 NVMe SSD! 7000-5100MB/s
- SK Hynix PC811 2TB NVMe Gen4 SSD! 7000-6500MB/s
- 27% SZÁMLÁVAL! HP Omen 17 QHD 240Hz / RTX 4090 / i7-13700HX / 32GB DDR5 / 1TB SSD! BeszámíTOK
- Xiaomi 14 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Akció! Windows 10 pro OEM licenc kulcs 64/32 bit activation key licensz, liszensz,kulcs
- iKing.Hu - Motorola Razr 50 Ultra Midnight Blue Használt, karcmentes állapotban 12 GB RAM / 512 GB
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- Általános igazgatóhelyettes tábla üvegből eladó
- BLUESUMMERS NVMe SSD adapter
Állásajánlatok
Cég: FOTC
Város: Budapest