mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Addresses reported flickering and rendering problems on ARM64 devices running Windows 11 25H2 by implementing ARM64-specific rendering defaults, build configuration fixes, and redraw optimizations. Rendering fixes: - Default to SC_TECHNOLOGY_DIRECTWRITERETAIN on ARM64 to preserve back buffer between frames, avoiding blank flashes with Qualcomm Adreno GPUs and Win11 25H2 DWM compositor changes - Wrap MsgThemeChanged() in WM_SETREDRAW FALSE/TRUE to suppress N intermediate repaints during heavy theme/DPI transitions - Add WS_EX_COMPOSITED to main window on ARM64 for system-level double-buffering - Remove RDW_ERASE from DarkMode ListView/TreeView RedrawWindow() calls to avoid background erase flash during theme changes Build configuration fixes: - Add _WIN64 preprocessor define to Scintilla, SciLexer, Lexilla ARM64 configurations (was missing, could cause 32-bit code paths) - Add TargetMachine=MachineARM64 to all ARM64 linker sections across Notepad3, Scintilla, SciLexer, Lexilla projects - Add CETCompat=false to Scintilla and SciLexer ARM64 configurations (CET is x86/x64 only, not compatible with ARM64) Platform code improvements: - Add _M_ARM64 detection for GrepWin binary selection (ARM64 was silently mapped to x64 binary via _WIN64 check) - Add NP3_BUILD_ARM64 helper macro in TypeDefs.h for future ARM64-specific code paths - Document RenderingTechnology setting in Build/Notepad3.ini with per-resolution override syntax and ARM64 troubleshooting tips Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| Docs | ||
| scripts | ||
| Themes | ||
| Build_ARM64.cmd | ||
| build_non_mui_ver.txt | ||
| Build_Win32.cmd | ||
| Build_x64_AVX2.cmd | ||
| Build_x64.cmd | ||
| BuildAll.cmd | ||
| Changes.txt | ||
| Clean.cmd | ||
| Ignore.txt | ||
| make_portable_alpha(.7z).cmd | ||
| make_portable_beta(.7z).cmd | ||
| make_portable_rel(.zip).cmd | ||
| minipath.ini | ||
| Notepad3_pap.ini | ||
| Notepad3.ini | ||