Hirdetés
- Szigorúan titkos dokumentumokkal a kezében távozott az Intel egyik mérnöke
- Nem YU7 mindenkinek: nem győz elég villanyautót gyártani a Xiaomi
- Bődületesen sok szoftverrel kínálja Core CPU-it és Arc GPU-it az Intel
- Tízszer gyorsabban indulhatnak a játékok a Microsoft új csodafegyverével
- Korszakok keverednek a HYTE legfrissebb, lekerekített külsejű házában
- Fejhallgató erősítő és DAC topik
- OLED TV topic
- Milyen HASZNÁLT notebookot vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- E-book olvasók
- VR topik (Oculus Rift, stb.)
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Kormányok / autós szimulátorok topikja
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
válasz
razorbenke92
#16225
üzenetére
Na szóval belenéztem újra, átnéztem a vegyes kódot, meg kipróbáltam Tankblock legutóbbi tanácsait (amit ezúton is köszönök)
Íme a tapasztalataim:
- Kivettem a digitalWrite() / digitalRead() / pinMode() függvényeket, helyettesítettem őket regiszter piszkálással. Ez némi helyet felszabadított, nem világmegváltó, de közelebb vitt a célhoz.
- Átírtam FastLED-el a kódot - sajnos több helyet foglal. Hozzátartozik az igazsághoz, hogy a FastLED gyárilag tud néhány színkezelési effektet, amivel helyettesíthetném a saját kódomat, de akkor lennék kb. ugyanott, mint a Neopixel könyvtárral.
- Ezután a ws2812b kezelését könyvtár helyett kiváltottam egy tömbbel ami a LED színeket tárolja, és egy eljárással, ami kibillegteti az outputra a dolgokat szabvány időzítés szerint.
Ezzel a 4000 byte körüli overflowból lett 800 byte, szóval ez nagyot hozott.- Ezután kivettem (kompletten, helyettesítés nélkül) az EEPROM kezelési műveleteket, és így sikerült befordítani a kódot színekkel, effektekkel.
- Ekkor átnéztem decompiled kódot, és kilóra bizony ennyi az annyi. Lehet még összevonni ismétléseket, meg is csináltam a nagyon nyilvánvalóakat, de minimális a csökkenés, és a további reszelés munka/nyereség aránya nem konvergál az elégséges kódcsökkenéshez.
Amivel tovább fogok menni:
- Újraírom az effekteket, az általam írt ws2812b kezelésre optimalizálva. Például dim esetén nem osztok szorzok, hanem meghatározok dim szinteket, amiket bitműveletekkel meg tudok oldani. Pl 50% esetén eltolás egy bittel. Áttűnések esetén bitmaszkokon keresztül összevagyolás, stb.
- Ha marad még hely, akkor visszaépítem a menürendszert
- Ha még mindig marad akkor pedig az EEPROM-ba mentést is visszarakom
- Ha az előző kettőnél valahol kifogyok a helyből, akkor felveszek sok effektet sok színnel, és szimplán csak végig lehet menni rajtok gombnyomással.
(Majd bedobom, ha sikerült megoldanom, hátha érdekel valakit)
Új hozzászólás Aktív témák
- Büszke apukák és anyukák topikja
- Fejhallgató erősítő és DAC topik
- OLED TV topic
- exHWSW - Értünk mindenhez IS
- Parkside szerszám kibeszélő
- Arc Raiders
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Kuponkunyeráló
- Kerékpárosok, bringások ide!
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- További aktív témák...
- iPhone 15 Pro MAX 256 GB, fekete, hivatalos garancia, 92% akku, tökéletes állapotban!
- újszerű iPhone 16 Pro Max 256GB natural titanium natúr titán független Apple garancia
- Precision 5560 15.6" FHD+ IPS i7-11850H RTX A2000 32GB 512GB NVMe ujjlolv IR kam gar
- 6-7 gen i5 T procik
- i5 12500/ RTX3060 12GB/ 32GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- BESZÁMÍTÁS! ASRock B450M R5 5600X 16GB DDR4 512GB SSD RX 5700 XT 8GB Thermaltake VersaH17 ADATA 650W
- Törött Apple iMac 19.2 i5-8500 Radeon Pro 560X 4GB 16GB 256GB SSD 21.5" 4K Retina
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold

