SharpFont icon indicating copy to clipboard operation
SharpFont copied to clipboard

Use struct pointers instead of marshaling IntPtrs

Open Robmaister opened this issue 11 years ago • 7 comments

There's a bug in Mono 2.10 that causes crashes with this, but most of the world should have moved off it by now.

The benefit of implementing this is that memory usage for SharpFont drops to 1/2 of what it is now and a lot of complexities with marshaling data disappears.

Before I implement this I need to survey versions of Mono that are being distributed/supported with other software/operating systems.

  • Ubuntu 12.04 LTS (supported until April 2017)
  • ~~Unity3D (5.5.0 started updating Mono backend)~~
  • ~~Fedora <= 22 (supported until July 19, 2016)~~
  • Debian Wheezy (supported until May 31, 2018)

I'll keep looking and seeing if there's anything major.

Robmaister avatar Dec 27 '14 05:12 Robmaister

Fedora is also still using Mono 2.10 for no good reason.

Mailaender avatar Apr 11 '15 05:04 Mailaender

Looks like Fedora 22, released around June, will update to Mono 3.0. Fedora supports old versions for approximately 13 months, added it to the list.

Robmaister avatar Apr 13 '15 15:04 Robmaister

Am using fedora 24 which ships mono 4.2 .

HinTak avatar Jul 06 '16 04:07 HinTak

Fedora 22 (last release on 2.10.8) will EOL in about 2 weeks (http://forums.fedoraforum.org/showthread.php?t=310383), F23 updates to Mono 4.0+

Updated post with more accurate dates, I probably won't care about Unity since it seems like font rendering is handled pretty well in-engine.

Robmaister avatar Jul 06 '16 17:07 Robmaister

According to http://koji.fedoraproject.org/koji/packageinfo?packageID=30 (fedora/redhat's build farm) - Redhat Enterprise Linux 7 possibly still uses mono 2.10.8 . Enterprise Linux is Redhat's linux for paying customers (vs Federa, the "community linux edition").

HinTak avatar Jul 06 '16 21:07 HinTak

Looks like RHEL 7 will be in a production phase until 2024 and probably won't be EOL'd until 2027 (currently unannounced).

At some point the only remaining distros (perhaps just Debian + RHEL/CentOS) will be more server-oriented and their users will be fine with installing a newer version over 2.10. Waiting for 11 years doesn't make sense.

I guess this is also a bit of a function of when downstreams want to stop supporting 2.10, this is something I'd likely revisit once Ubuntu 12.04 has EOL'd to see if the landscape has changed at all.

Robmaister avatar Jul 07 '16 14:07 Robmaister

Unity 5.5.0 updates Mono 2.6 to 4.4, but only the compiler. They joined the .NET Foundation and have said they'll continue to update the C#/Mono integration. There's really no EOL for Unity, but devs tend to update pretty frequently as there are a lot of cool new features with each release so I generally wouldn't consider Unity a problem at this point.

Still waiting for Ubuntu 12.04, may set up a feature branch a little earlier than that to get some feedback/testing done.

Robmaister avatar Dec 02 '16 19:12 Robmaister