OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 19.03.2024, 12:56

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 41 ]  Přejít na stránku Předchozí  1, 2, 3  Další
Autor Zpráva
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 11:25 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 23:38
Příspěvky: 541
Bydliště: Praha
Has thanked: 393 times
Been thanked: 122 times
Vzhledem k tomu, že jsem zaznamenal velký zájem, rozhodl jsem se po relativně krátké době udělat pro vás verzi 2.0.
Velké díky patří vývojářům, kteří mi pomohli - Milsovi a SCjoemu! :thumbup:

Stránka:
http://stahnu.cz/uprava-fotografii/retroeditor

Přímé stažení:
http://stahnu.cz/uprava-fotografii/retroeditor/download/1

64-bit
http://stahnu.cz/uprava-fotografii/retroeditor/download/2

v2.0
- opraveny emulace barev SamCoupé a Atari ST (výběr z palet, vybrané barvy se podle analýzy dominance "vysunou" a na ty se pak konvertuje)
- opravena emulace IBM EGA (výběr z palety)
- pokus o správnou emulaci barev u Amigy (ECS i AGA)
- rozšířeno o barevná schémata (zejména z filmů)
- opraveny některé chyby ve specifikaci
- nová funkce Grid
- v 2.0 existuje i pro 64-bit, která je o 1/3 rychlejší (tato verze se objeví někdy v dohledné době, až se mi podaří rozumně jí protlačit na nějaký server)

_________________
https://zxretrosoft.cz/


Naposledy upravil zxretrosoft dne 27.01.2015, 22:41, celkově upraveno 1

Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 12:34 
Online
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10096
Bydliště: Praha
Has thanked: 1952 times
Been thanked: 1515 times
Netrpělivě čekám na 64bit verzi :-)

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 12:47 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 23:38
Příspěvky: 541
Bydliště: Praha
Has thanked: 393 times
Been thanked: 122 times
Tak jako 64-bit verze je na světě, zkusím napsat, jak se to vlastně publikuje, aby byla spíš v pozadí.

Jinak chápu, že na to netrpělivě čekáš, zvlášť, když konvertuješ do Amigy, kde to chce na 32-bit velkou dávku trpělivosti :)

EDIT:

Tak 64-bit verze je zde:

Stránka:
http://stahnu.cz/uprava-fotografii/retroeditor

Přímé stažení:
http://stahnu.cz/uprava-fotografii/retroeditor/download/2

_________________
https://zxretrosoft.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 18:33 
Online
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10096
Bydliště: Praha
Has thanked: 1952 times
Been thanked: 1515 times
Něco je tam stále špatně :-( Pořád to využívá konstantně procesor, i když to nic nedělá... Navíc během konverze využití CPU nijak nestoupne. Jakoby si program nějak držel stálé prostředky ke svému chodu.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 18:48 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
Neběží to v nějaké smyčce?

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 18:56 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 23:38
Příspěvky: 541
Bydliště: Praha
Has thanked: 393 times
Been thanked: 122 times
misticu, to je složité. Já už jsem to prověřoval, jede tam 1 klasický cyklus FOR...NEXT. Mezitím se odehrává ta konverze. Jinými slovy ta doba, která je nutná k té konverzi, je v podstatě doba, po kterou musí ten cyklus jet bod po bodu a spočítat ho. Máš tam nějakých 511x380 px, čili ten výpočet se provede třeba 194180x. Možná to není nejlepší způsob jak to konvertovat (psali mi lidi, že už vymysleli lepší a já jim věřím), ale pořád nechápu, jak to souvisí s tím procesorem.

Úplně zjednodušeně: Zkus si udělat v PB cyklus:

Kód:
FOR i=1 to 200000
NEXT i


Tenhle cyklus zkus optimalizovat tak, aby ten procesor využíval.

Jinak tu 64bit verzi jsem v podstatě udělal na tvůj podnět. Ačkoli se to nijak principiálně nevyřešilo, pořád se to na 64bitu alespoň o 30% urychlilo :)

_________________
https://zxretrosoft.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 20:46 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.06.2013, 20:26
Příspěvky: 2487
Has thanked: 115 times
Been thanked: 424 times
zxretrosoft píše:
...jede tam 1 klasický cyklus FOR...NEXT. Mezitím se odehrává ta konverze.

Tak zrovna tohle je asi v pořádku - těžko by to šlo dělat jinak ;)

Problém je jinde - v tom, že to zatěžuje procesor, i když to nic nedělá, tedy nikoli při konverzi. Tak mě napadlo, jestli to třeba v té době "nicnedělání" neběží třeba ve smyčce při čekání na klávesu či událost od myši... A tam je možné i to, že to takhle dělá ten BASIC a ty na to nemáš vliv - to by se projevilo tak, že libovolný podobný program by zatěžoval procesor taky...

A nebo na to máš vliv, pokud jsi zvolil nevhodný způsob čekání na událost ;) Ale to se mi nezdá tak pravděpodobné ;)

_________________
"Je lepší rozsvítit byť jen malou svíčku, než jen proklínat temnotu." (Konfucius)

www.zxsparrow.com


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 27.01.2015, 22:25 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
Tiež si myslím, že na to nemá on žiadny vpliv. Na druhej strane, ak je to tak, že škoda, že ten BASIC autori nedotiahli v tomto smere lepšie.

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 11:03 
Online
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10096
Bydliště: Praha
Has thanked: 1952 times
Been thanked: 1515 times
No tak to je mrzuté. Nevím v jakém Basicu to děláš, ale nemá pro smyčky nějaké efektivnější alternativy?

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 22:12 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 23:38
Příspěvky: 541
Bydliště: Praha
Has thanked: 393 times
Been thanked: 122 times
No tak vypadá to, že chyba bude na mé straně. Jde o to, že celé to opravdu běží v jakési smyčce, přesněji řečeno ve smyčce podprogramů. Jsem totiž zvyklý takhle programovat. Což se může jevit poněkud nešťastné, ale právě třeba u her se zdá být tenhle zvyk docela v pořádku, páč tam pořád běží nějaké sprity. Hráči je pak de facto jedno jak to zatěžuje procesor, pro něho je podstatné, jak jsou sprity a celá hra plynulé.

Takže v případě aplikace tohoto druhu jsem měl své zvyky opustit a dělat to jinak. Ale jak říkám, zvyk je železná košile :hammer:

Hned prvním smysluplným řádkem (po deklaraci proměnných) skočím do podprogramu a pak mezi sebou podprogramy skáčou (a vše se pohybuje v jedné ohromné smyčce):

Kód:
menu()
;to je ten první skok

procedure menu()
...
obrazek()
endprocedure

procedure obrazek()
...
menu()
endprocedure

atd.

_________________
https://zxretrosoft.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 22:56 
Online
Site Admin
Uživatelský avatar

Registrován: 11.05.2013, 23:48
Příspěvky: 10096
Bydliště: Praha
Has thanked: 1952 times
Been thanked: 1515 times
No jo, ale to nejde, že jo. Vyhoď klávesové zkratky, nech jen myšoidní ovládání (je to pro win a "odklikačka" není nijak náročná). To ušetří spoustu zatěžujících procedur. Hádám, že ta hlavní smyčka pak zdržuje i smyčku pro převod obrázků. To je cesta do pekel. Přepočítávání nedělej po pixelech, ale po blocích. Například u Amigy ECS bude rychlejší, když nejdřív přepočítáš paletu do 12bit (tj. vezmeš paletu obrázku, přepočítáš ji do 12 bitu) a pak z ní přiřadíš barvy na blok (z 32 bit už to nebude pixel2pixel, ale opravdu blok2blok). To samé bych řekl, že bude fugnovat u ST 512 barev. AGA defacto nemusíš přepočítávat vůbec. Tam máš 16mio barev, akorát je zredukuješ na 256 nebo 18bit.

_________________
Amiga/Amstrad/Atari/Commodore/Mac/Nintendo/PS/PC/Sega/Tandy/ZX


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 23:02 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 09.10.2013, 19:04
Příspěvky: 1403
Has thanked: 130 times
Been thanked: 71 times
zxretrosoft píše:
No tak vypadá to, že chyba bude na mé straně. Jde o to, že celé to opravdu běží v jakési smyčce, přesněji řečeno ve smyčce podprogramů. Jsem totiž zvyklý takhle programovat. Což se může jevit poněkud nešťastné, ale právě třeba u her se zdá být tenhle zvyk docela v pořádku, páč tam pořád běží nějaké sprity. Hráči je pak de facto jedno jak to zatěžuje procesor, pro něho je podstatné, jak jsou sprity a celá hra plynulé.

Takže v případě aplikace tohoto druhu jsem měl své zvyky opustit a dělat to jinak. Ale jak říkám, zvyk je železná košile :hammer:

Hned prvním smysluplným řádkem (po deklaraci proměnných) skočím do podprogramu a pak mezi sebou podprogramy skáčou (a vše se pohybuje v jedné ohromné smyčce):

Kód:
menu()
;to je ten první skok

procedure menu()
...
obrazek()
endprocedure

procedure obrazek()
...
menu()
endprocedure

atd.

No podľa tohto usudzujem, že si napísal len skrátenú verziu, lebo pri tomto by si v priebehu krátkej chvíle dostal niečo ako "Stack overflow", v horšom prípade "Program vykonal nepovolenú operáciu a skončil".

_________________
Sharp MZ-821
Milsa MZ-841


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 23:16 
Offline
Radil
Uživatelský avatar

Registrován: 12.05.2013, 23:38
Příspěvky: 541
Bydliště: Praha
Has thanked: 393 times
Been thanked: 122 times
Je to samozřejmě jenom schéma, ale takhle mezi procedurami to běží normálně :)

_________________
https://zxretrosoft.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 28.01.2015, 23:36 
Offline
Pan Generální
Uživatelský avatar

Registrován: 23.03.2014, 20:13
Příspěvky: 2769
Has thanked: 223 times
Been thanked: 600 times
zxretrosoft píše:
Kód:
procedure menu()
...
obrazek()
endprocedure

procedure obrazek()
...
menu()
endprocedure


Kdyby tam bylo GOTO tak možná, ale tahle vzájemná rekurze fakt musí zaplňovat zásobník. Jak velký je u PureBasicu?
Já jsem teda nedávno v QBasicu tvrdě narazil, ať jsem dělal co jsem dělal, tak přes 7500 vnoření jsem se v rekurzi nedostal. Akorát že jsem to potřeboval provádět v mapě 100x100 :cry:

Ještě bych měl prosbu, mohl bys ke zprávě na PC-help dát nějaké obrázky co ten editor vlastně provádí? Nejlépe nějaké zajímavé výtvory, kterých by si všimli i ti, pro které počítačová histori začíná u PIII :lol:

_________________
Plesnivý sýr z Tesca, zatuchlé kuřecí řízky z Albertu, oslizlé hovězí a myší trus z Lidlu.
Nákup potravinářské inspekce v ČR, říjen 2023.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: RetroEditor 1.0
PříspěvekNapsal: 29.01.2015, 01:58 
Offline
Pan Generální
Uživatelský avatar

Registrován: 13.05.2013, 09:15
Příspěvky: 2276
Bydliště: Brno
Has thanked: 841 times
Been thanked: 302 times
Kód:
menu()
;to je ten první skok

procedure menu()
...
obrazek()
endprocedure

procedure obrazek()
...
menu()
endprocedure

No tak předpokladám, že se podprogram obrazek() po jeho 1 vykonaní ukončí a taky menu(). Pokud jo, nemůžeme zde mluvit o vícenásobném zanořování. V Pythonu je dokonce tenhle způsob programování, tedy pomocí podprogramů o něco rychlejší, než kdyby se vše vykonalo bez podprogramů pouze v 1 velké smyčce.

_________________
Amiga - PMD 85


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 41 ]  Přejít na stránku Předchozí  1, 2, 3  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 5 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz