Ten problém je složitější. Vymazat obsah schránky může být smrtící při běhu programu. Tady si musíme představit co se vlastně ve schránce udržuje a o jakou "paměť" jde.
V rámci paměti jde obecně o operační paměť (OP), diskovou mezipaměť a paměť "stránkovací". Operační paměť udržuje obecně vše co si má pamatovat. Jsou tam ale zejména proměnné. Dále OP udžuje nejen přímo proměnné, ale například odkazy na objekty BLOB a podobně. Tohle souvisí dost úzce s operačním systémem.
Existují rutiny, které mažou paměť. Jde vlastně o uvolnění kapacity nikoliv o vymazání. Kdysi jsem se s tím pral a celkem bez úspěchu - skončil jsem u přetečení a zaseknutí (pádu) systému. Zde to souvisí například s tím kolik kroků zpět si má systém pamatovat a jak velký objem je na objekt. To se dá nastavit.
Nakonec jsem došel ke zkušenosti, že při dokončení operace vynuluji obsah. Například velký obsah array místo přepisu nuluji. Přeadstava Array() = 200 kB, proto nežli ji přepíšu udělám vynulování. Používám paralelní prázdnou array. naplněnou array a(z,y) například změnim a = b(0,0). V kódu to nedává moc smyslu pokud nevíte k čemu se to dobré.
Nejhorší je vrstvení různých proměnných - nejspíš "string". Lze je přepsat za běhu, ale když jde o "život", tak proměnnou dříve vynuluji před tím nežli ji znovu naplním.
V některých případech je nutné nastavit čas pro doběhnutí dříve spuštěné rutiny. Tady jde o to jestli je zapnuté OpenCL. OpenCL by mělo mít schopnost provádět paralelní operace. Když ne může se stát že nový příkaz přebije původní. To se dá jen empiricky dohledat - navíc je to asi u každého HW různé.
Problém paměti souvisí s OS. Takže postupy pro Win nemusí fungovat pro Linux a opačně. K tomu se váže navíc výkon systému (rychlost MotherBoardu, procesoru a OP, respektive rychlost zápisu na disk....). Problémem pro AOO, LO je to, že musí fungovat na všech různých systémech. Proto dochází k nečekaným jevům. Problém uvolňování OP je dost složitá záležitost. Proto si myslím, že je lepší jít problému "naproti", nežli ho "lámat přes koleno".
Editoval neutr (30. 5. 2020 20:39:56)
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ