Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

Šíleně pomalá grafika na Axim X51v.

Redcar (35)|2.5.2006 21:21
Vyzkoušel jsem svou aplikaci (C++) na svém novém Axim X51v s ROM A08. Aplikace vykreslí bitovou mapu a po startu s ní roluje nahoru. Předtím se přejde do celoobrazovkového režimu co zahrnuje operace SHFS_HIDESTARTICON, SHFS_HIDETASKBAR, SHFS_HIDESIPBUTTON, zvětšení okna celou obrazovku a jeho překreslení. Tedy výkonově ani jinak nic náročného. Na mém stařičkém Looxu 410BT se mi to zdálo pomalé - trvalo to asi 1 sekundu než se rolování rozběhlo, rolování ale bylo pak plynulé. Na Aximu X51v s nastaveným Maximum performance totéž trvá 18 s !!! (slovy osmnáct sekund) a rolování je tak nechutně trhavé (jakoby ve vlnách), že se na to nedá koukat. Opačná operace přechod z celobrazovkového režimu trvá cca 16s. Do Axima jsem šel proto, že má mít nejrychlejší grafiku, ale tohle je zoufalost. Netušíte někdo v čem by mohl být zádrhel?
beecher (9270)|2.5.2006 21:35
Ono to bude chtit trochu jiny pristup -> Intel 2700g SDK
Redcar (35)|2.5.2006 21:41
SDK bych akceptoval např. u her, ale u té nejobyčejnější bitmapové operace to snad není třeba. Vždyť je to jen obyčejné překopírování dat v paměti. Dalším laborováním jsem zjistil, že to škube jen v celobrazovkovém režimu a to tak, že je to nepoužitelné. Rolování má být časově synchronizované, ale takhle se do dvojnásobně zpožďuje.
beecher (9270)|2.5.2006 21:48
No, ja bych se na to podival, vzdyt i pouhy prehravac multimedii TCPMP ma vlastni driver na 2700g... ;)
iron side (253)|4.5.2006 08:36
to by me zajimalo,kde si sehnal ROM 08?Vsichni mame 06.
beecher (9270)|4.5.2006 09:44
ROM A08 je planovana na vydani. Nejnovejsi Delly ji jiz maji v sobe... I na Aximsite jsou o tom diskuze...
Redcar (35)|4.5.2006 21:41
Můj Axim je úplně nový - mám ho teprve od úterka a je to už v něm. Pořešil jsem pomalou grafiku a zde je výsledek, pokud to zde někoho zajímá protože to spíš patří spíš někam do programátorských témat. Těch dlouhých 16 sekund šlo na vrub znovuvytváření rolované bitmapy z důvodu změny velikosti okna při přechodu do fullscreenu, takže jsem to zakázal a je to pryč. Trhané rolování bylo částečně způsobeno tím, že ve WM5.0 nelze skrýt SIP button pomocí SHFullScreen(hWnd, SHFS_HIDESIPBUTTON ), ale musí se to udělat přes class name MS_SIPBUTTON kombinací FindWindow+ShowWindow. I tak rolování zůstává daleko horší než na WM2003SE. U spodního okraje se občas nic nevykreslí nebo se tam objeví takový oranžový rastr. To se na WM2003SE nikdy nestává. Také jsem zjistil, že ve WM5.0 není podporování styl SS_BLACKFRAME u Static control v dialogu. Přitom ve WM2003SE se vykresluje celkem rozumně. Ve WM5.0 tam zůstane průhledné místo a musí se to vyřešit vlastním vykreslováním subclassingem.
Redcar (35)|4.5.2006 22:50
Další zajímavý postřech: Díky skvělému beecherovu návodu se mi podařilo rozchodit RealVGA mód a kupodivu je v něm rolování naprosto bezproblémové. Takže to vidím na nějaký problém s double pixelingem na straně Vildy Brány. Nově se ukázaly problémy s velkými bitmapami a rozhozenými dialogy, které obsahují prvky vytvořené pomocí CreateWindow nebo se kterými se v dialogu hýbalo pomocí MoveWindow.
Redcar (35)|8.5.2006 10:26
Objevil jsem chybu v GDI WM5.0. Při vyplňování pozadí paměťové bitmapy pomocí funkce FillSolidRect se od určité velikosti bitmapy (obvykle cca 5-6MB) vybarví danou barvou pozadí jen část bitmapy a na zbytku zůstane typické paměťové smetí. Bitmapa je atypická - má o řád větší výšku než šířku. Prozatím jsem to vyřešil nastavováním bits bitmapy natvrdo i když to bude asi pomalejší než optimalizovaná GDI funkce. Pokud někdo víte, kam takové chyby hlásit Microsoftu dejte vědět.
beecher (9270)|8.5.2006 11:11
Nebude lepsi pouzivat DirectX Mobile, ktere je ve WM5, nez to stare GDI apod. technologie?
Redcar (35)|8.5.2006 11:16
Pro nové a specializované aplikace jistě, ale co třeba aplikační knihovny jako MFC & spol.? Ty interně jednou na GDI API.
beecher (9270)|8.5.2006 11:29
No, nevim, co chcete psat za aplikaci, podle toho, ze se stourate to grafiky apod. jsem pochopil, ze chcete psat hru, proto jsem navrhnul to DX.
Pokud no, tak to bohuzel nevim, nejsem Cckar, ale C#ista... ;)
Redcar (35)|8.5.2006 11:49
Já jsem podobojí :) . Je to grafika, ale více méně statická - jednou vytvořená bitmapa, která pak už jen roluje. Tedy ne tak dynamická práce s rastry jako u her nebo videa.
colombo_ce4you (36)|8.5.2006 22:09
[QUOTE="beecher"]Ono to bude chtit trochu jiny pristup -> Intel 2700g SDK[/QUOTE]


Ako sa to instaluje? Vdaka za odpoved.
beecher (9270)|9.5.2006 10:01
Stahnu na PC a pustim, ne?
colombo_ce4you (36)|11.5.2006 15:27
[QUOTE="beecher"]Stahnu na PC a pustim, ne?[/QUOTE]

...sorry, ale naozaj neviem co s tym, ako to dostat do PPC. Rozbalim to v PC a dalej s tym nepohnem. Tak skus poradit. Dik.
beecher (9270)|11.5.2006 15:52
Vzdyt to se do PDA nedava, to je vyvojarsky kit pro psani aplikaci, ktere vyuzivaji ten Intel 2700g, tedy popis vlastnosti, jejich API k driveru, prikladove zdrojaky, tuna dokumentace atd...
Aneb SDK = Software Development Kit
colombo_ce4you (36)|11.5.2006 17:13
[QUOTE="beecher"]Vzdyt to se do PDA nedava, to je vyvojarsky kit pro psani aplikaci, ktere vyuzivaji ten Intel 2700g, tedy popis vlastnosti, jejich API k driveru, prikladove zdrojaky, tuna dokumentace atd...
Aneb SDK = Software Development Kit[/QUOTE]


...dik za odpoved a trpezlivost so mnou. Predsa nie som od Vasho fachu. Vdaka.
beecher (9270)|11.5.2006 17:45
Uprimne, malem mi dosla... ;)
Redcar (35)|18.5.2006 23:02
Po poměrně úporné snaze o optimalizaci aplikace, která byla právě úspěšně dokončena, musím bohužel konstatovat, že "šíleně pomalá grafika" šla tak z 80% na vrub ležérně psaného kódu aplikace. Zajímavé na tom ale je, že na slabším PDA s QVGA (Loox 410BT) se to předtím nijak neprojevovalo. Problémy nastaly až na silnějším stroji s VGA (Axim X51v). Ale i teď to na slabším stroji s QVGA běží lépe i když rozdíl už není tak výrazný. Holt Real VGA chce svoje. A navíc GDI ve Windows Mobile 5.0 (ROM A08) taky není úplně bez chyb. Úplně nejhorší je režim double-pixelingu - písmo je velmi hrubé (z kostiček) a dolní část obrazovky při rolování nahoru bliká. To v Real VGA modu lze použít 2x větší písmo, které je pak krásně hladké a to blikání zde není (jak to?).