Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows 10 and later: Long Path Aware and use Segment Heaps #3155

Merged
merged 1 commit into from
Sep 25, 2023

Conversation

goodusername123
Copy link
Contributor

@goodusername123 goodusername123 commented Sep 22, 2023

Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work although there are quite a few random third party programs that do this already as a part of their install process so it's possible this is already enabled for quite a few users whether or not they realize it (a notable example of a program's installer that does this I can think of off the top of my head being qBittorrent).

The use of Segment heaps should result in less ram/memory used (might also reduce fragmentation in some form/way?) however I have not measured how much exactly, it could be by a minuscule amount or a decent percentage but it depends on factors which I do not know the answers to, also I can confirm there are no stability issues as I have been using Segment heaps in Waterfox (also in other programs as well) for months and months straight with no issues even with long running instances of the browser that have not been closed/restarted for weeks or longer. Also as a side note Segment heaps have been around since the early days of Windows 10 (since around 2015) and are in use by default for all UWP apps and a few critical system win32 apps, the reason the manifest tweak only applies to Win10 v2004 and later is because the ability to use segment heaps was only available to do through registry until 2020 when a way to use it with manifests was added.

Below are some before and after screenshots confirming this manifest file does indeed function.

BEFORE:

waterfox longpath aware before 1.webp
waterfox longpath aware before 2.webp
waterfox segment heap before.webp

AFTER:

waterfox longpath aware after 1.webp
waterfox longpath aware after 2.webp
waterfox segment heap after.webp

Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
@MrAlex94 MrAlex94 self-requested a review September 25, 2023 15:46
@MrAlex94 MrAlex94 self-assigned this Sep 25, 2023
@MrAlex94 MrAlex94 merged commit 08a55aa into BrowserWorks:current Sep 25, 2023
7 of 10 checks passed
MrAlex94 pushed a commit that referenced this pull request Sep 29, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Sep 30, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 1, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 1, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 1, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 5, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 9, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 9, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 9, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Oct 23, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Nov 20, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Nov 20, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Nov 20, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Nov 20, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Dec 19, 2023
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Jan 22, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Feb 14, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Feb 19, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Mar 19, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Mar 24, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Apr 16, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request May 13, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Jun 11, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Jul 2, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Aug 6, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Aug 12, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Aug 30, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
MrAlex94 pushed a commit that referenced this pull request Sep 3, 2024
Changes the manifest file to allow interacting with long paths in Windows 10 v1607 and later, And also changes the used memory heap type from NT heaps to Segment heaps in Windows 10 v2004 and later.

Note: "LongPathsEnabled" must be turned on in registry for long path handling to work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants