Programim dhe zhvillim, javascript, python, php, html

Performanca duke përdorur dritaret D3D10/11 dhe MDI

Unë jam duke punuar në një aplikacion MDI që mund të mbajë disa (>40) grafikë të përditësuar në kohë reale (30 fps); çdo grafik duhet të japë potencialisht gjeometrinë 3D në të. Kam provuar të përdor Direct2D për çdo dritare duke përdorur SlimDX (në secilën) por performanca bie shumë keq kur shtohen më shumë se 16 dritare. Dikush ka përvojë me këtë, komentet e të cilit mund të jenë të dobishme?

  • Aktualisht po përdor API-në D3D10/11, e cila sipas dokumenteve ka një zinxhir shkëmbimi për dritare. Në dokumentet D3D9, mund të ndërroni dritaren përpara se të paraqisni dhe ky është përdorimi i rekomanduar. A duhet të provoj të kaloj në D3D9 në vend të kësaj? A mund të jetë një problem i ndërrimit të zinxhirit të shkëmbimit?
  • Nëse nuk është një problem i zinxhirit të shkëmbimit, a do të ishte ndoshta më mirë për mua të kapërcej D2D dhe thjesht të menaxhoj buferët e mi të kulmit dhe të jap duke përdorur D3D?

Të fala!


  • Po, po e bëj këtë. [Është një sistem për të zbuluar pikat në shumë module të ndryshme (koha, alokimet e grumbullit, etj.), kështu që nevojitet një numër i madh dritaresh në ekran për të zbuluar se cili sistem ka vepruar keq.] 08.07.2011

Përgjigjet:


1

Çfarë lloj performance merrni për një dritare/kontekst të madh të ndarë në >40 qeliza, me një grafik të vizatuar në secilën (mund të përdorni testimin me gërshërë për të zbatuar kufijtë e qelizave)?

Nëse kjo është e dobët, ju duhet të zvogëloni kompleksitetin ose të optimizoni disi vizatimin.

Nëse një dritare e vetme mund ta shfaqë të gjithë përmbajtjen mjaft shpejt, merrni parasysh ta bëni këtë -- një dritare të vetme. Zbatimi i sjelljes tuaj të maksimizimit / të zvarritshëm të ndarësit nuk është edhe aq i vështirë.

08.07.2011
  • Po, ky është Plani B. Edhe përpara se ta zbatoj, mendoj se mund të supozoj me siguri se nuk do të ketë një sukses të performancës. Por me këtë unë humbas të mirat e integruara të dritareve, të tilla si ndryshimi i madhësisë së grafikëve individualë, menutë e integruara të kontekstit, mbyllja/minimizimi i dritares dhe më e rëndësishmja që më nevojitet, një shirit lëvizës për secilin për të parë historinë. Do të më duhej të rishkruaja timonin për çdo veçori... 08.07.2011
  • @RCaloca: Mund të provoni të përdorni kontrollet e shiritit lëvizës dhe butonave të integruar të Windows për të paktën një pjesë të këtij funksioni. Prerja komplekse nga kontrollet e fëmijëve mund ose nuk mund të shkaktojë aq shumë goditje sa shumë kontekste të veçanta. 08.07.2011
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..