-
Notifications
You must be signed in to change notification settings - Fork 67
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
win32window: Optimize rendering, international keys
- Use StretchDIBits() on a direct window DC, then SwapBuffers() on it instead of legacy rendering which involved many unnecessary steps. This makes rendering a few times faster, which means a lot for idle CPU usage. - Use PostQuitMessage() to handle WM_QUIT properly on a general event pump instead of attaching GLWP userdata to window (Which could have caused race conditions) - Do not delegate window creation to a renderer thread. It seems this legacy workaround is not needed with the new rendering implementation - Add support for a few international keycodes, namely Japanese ro, katakana/henkan/muhenkan modifier keys, and Korean hangeul/hanja modifiers. It however doesn't support 102nd key found on some Ukrainian and German keyboards because the same Win32 keycode is already used for japanese ro, and there is no way to overcome this API limitation it seems. This also needs better testing by someone who actually owns such keyboards.
- Loading branch information
Showing
1 changed file
with
55 additions
and
50 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters