Joskus (useita vuosia sitten) yritin debugata itse tekemääni video-ohjelmistoa.
Yritykseksi jäi!
Miksikö?
Siksi, että koneen näytönohjaimen ajurissa on debuggausesto, ja vaikka se (ainakin virallisesti) on ilmeisesti tarkoitettu suojelemaan näytönohjainvalmistajan liikesalaisuuksia, niin huonosti toteutettuna se esti myös oman ohjelmani debuggauksen !
Sikäli olen yllättynyt, että oma ohjelmani oli sinänsä aivan normaali windows -ohjelma (eli toimii ns. UserLand -tilassa).
Näytönohjaimen ajurit taas käsittääkseni toimivat ns. "Kernel -tilassa" koska niissä on esim. keskeytyskäsittelijäaliohjelmia.
Järkevästi toteutettuna tuollaisen debuggauseston siis pitäisi estää ainoastaan "Kernel -tilassa" toimivien ohjelmaosien debuggaus, ja jos mahdollista, siitäkin eston piirissä pitäisi olla vain itse näytönohjaimen ajurikoodin debuggaus, eli muuta osaa kernel -koodista voi silti debugata, ja ns. UserLand -tilassa toimiva koodi pitäisi kaikki olla debugattavissa rajoituksetta.
Mutta minkäs teet, kun näytönohjaimen (ajurin) valmistaja toteuttaa debuggausestonsa niin, että se estää myös UserLand -tilassa toimivan koodin debuggauksen, jos koodi sisältää liikkuvan videokuvan tulostamista näytölle.
Eli:
Miten omatekoista video-ohjelmistoa voisi debugata ilman, että näytönohjaimen (ajurin) valmistajan debuggausesto estää debuggaamisen ?
Jos asia on niin ikävästi, että joillain näytönohjaimilla ja niiden joillain ajureilla vastaus on "ei mitenkään", niin saako jostain:
a) optimoimattomia ajureita samalle näytönohjaimelle (sillä jos oikein ymmärrän, niin juuri ne optimoinnit on niitä asioita, joita valmistajat pitävät liikesalaisuutena, ja siksi harrastavat moisia debuggausestoja).
TAI
b) sellaisen näytönohjaimen, jossa ei käytetä mitään niin edistyksellistä teknologiaa, että sitä pitäisi tuollaisella debuggausestolla suojella.
Vinkkejä siis joko näytönohjaimen ja/tai sen ajurin valintaan, jos haluaa moisista debuggausestoista eroon ?
Onko Windowsille saatavana yhtään ns. avoimen lähdekoodin näytönohjainajuria ?
Ehkäpä tuollaisesta saisi version ilman debuggausestoa ?
Taustatietoa:
Samalla tietokoneella (jossa dualbuuttausmahdollisuus, eli virran kytkemisen jälkeen saa valita, käynnistyykö windows vai linux), niin windowsissa CPU -kuormitus pysyy alhaalla ja kone viileänä myös pitkän (eli yli tunnin mittaisen) videotiedoston aikana, mutta linuxilla videota toistettaessa CPU -kuorma on yli 90% koko ajan videota toistettaessa, ja prosessori käy kuumana.
Ilmeisesti windows -näytönohjaimen ajureissa on juurikin joitakin optimointeja, joiden ansiosta videon katseluun riittää vähäisempikin CPU -kuormitus, kun taas avoimen lähdekoodin linux -ajureissa ei moisia optimointeja ole, kun näytönohjaimen valmistaja kieltäytyy antamasta avoimen lähdekoodin koodareille teknisiä tietoja siitä, miten näytönohjaimen laitteistopuolella ovat optimointimahdollisuudet saadaan parhaiten käyttöön (eli linuxissa niitä ei saada käyttöön ollenkaan).
Tuo debuggausesto siis vaikuttaa windowsissa, toki JOS laitevalmistaja jakaa linuxiin suljetun lähdekoodin optimointejasisältäviä ajureita, niin sitten niissä voi olla sama ongelma kuin windowsissakin, eli tahallaan tehty debuggausesto.
Esto siis estää (aiheettomasti) myös UserLand -tilassa ajettavan ohjelmiston debuggaamisen !
Video-ohjelmiston (omatekoinen) debuggaus, miten ?
Anonyymi
1
99
Vastaukset
- Anonyymi
Siis ei täällä ole ilmeisesti yhtään sen tason osaajaa, että tästä asiasta jotain tietäisi.
t: ketjun aloittaja.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Klaukkalan onnettomuus 4.4
Klaukkalassa oli tänään se kolmen nuoren naisen onnettomuus, onko kellään mitään tietoa mitä kävi tai ketä onnettomuudes994260Yleltä tyrmäävä uutinen
Ylen uutisen mukaan Raamattu on keksitty n. 2600. Putoaako kristinuskolta pohja kokonaan alta pois? https://yle.fi/a/743561065- 1861012
Pakko kertoa mies
Äitini tietää, että olen ihastunut sinuun. 😳 halusin että hän näkisi sinun kuvan ja pyysin googlaamaan sinua. Kommentti109992Millaisia ajatuksia on kaivatusta ja tilanteestanne tänään?
Kerro omista mietteistäsi tai lähetä terveisiä. Ehkä hän lukee ja lähettää sinulle takaisin omia mietteitään.47871- 64861
- 64816
Sinä vain tulit elämääni
Ja joku tarkoitus sillä on ollut. Näyttämään mitä olen ja kuinka arvokas voisin olla. Se muutti ja käänsi elämäni suunna78801Riitta-Liisa ja Toni Roponen: Ero! Riitta-Liisa Roponen kertoo asiasta Instagramissa.
Riitta-Liisa ja Toni Roponen eroavat. Riitta-Liisa Roponen kertoo asiasta Instagramissa. – Talvi on ollut elämäni synk10797Onko se niin
Että meillä molemmilla on niin isot egot ettei voi alentua myöntämään kuin tykkää toisesta64796