.net - Er der en drop-in erstatning for System.Drawing.Graphics med samme offentlige grænseflade?

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har en aldrende .NET Windows desktop navigeringsapplikation, der gør nogle moderat komplekse gengivelser af S-57 marine vektorkort (kort), skibe, forudsigere og forskellige navigationsobjekter som ruter. Gendannelsen blev implementeret for længe siden med System.Drawing.Graphics.


I nogle situationer kan tegningen blive ekstremt langsom. Vi har brugt VS2013 profiler og dotTrace profiler til at optimere indlysende hotspots i vores kode. Den resterende tid bruges i metoder som Graphics.DrawLines, Graphics.FillPolygon osv.


Langs løb skal gengivelsen genudføres eller overføres til et grafik-API, der er accelereret på hardware.


Er der nogen form for (MS eller tredjepart) indpakning til Direct2D eller OpenGL, der har samme grænseflade som System.Drawing.Graphics. Det er en klasse med en identisk eller næsten identisk offentlig grænseflade som Graphics, men det implementeres med DirectX/OpenGL/andet i stedet for GDI +?

Bedste reference


Jeg har kigget men ikke fundet nogen som vi gerne vil have det her også.


Det nærmeste accelererede bibliotek vi har fundet er Win2D. Https://github.com/Microsoft/Win2D[6]


Den store advarsel med Win2D er, at den primært understøttes på Windows 10. Det blev oprettet i Windows 8 dage, men selv det betragtes som arv .