Terminal: рдбрд┐рдлрд╝реЙрд▓реНрдЯ WSL рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдЕрдВрджрд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЕрджреНрднреБрдд рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╣рд░ рджреВрд╕рд░реЗ рдРрдк рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ?

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рджрд┐рд╕ре░ 2018  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/terminal

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рдПрдХ рд╕реБрдЭрд╛рд╡ / рдЕрдиреБрд░реЛрдз рд╣реИ рдХрд┐ рдХреГрдкрдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбрдмреНрд▓реНрдпреВрдПрд╕рдПрд▓ рдЯрд░реНрдорд┐рдирд▓ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрдмрдВрдЯреВ) рдХреЗ рд╕рд╛рде рдЬреЛ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕реЗ рддреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВ, рдЬрдм рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдпрд╣ рдмрд╣реБрдд рд╣реА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реЛрддрд╛ рд╣реИ рдЪрд╛рднреАред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ WSL рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╕реЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╣рд╡рд╛ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ рдПрдХ рдЪрд┐рдХрдирд╛рдИ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдВрдбреЛрдЬ рдРрдк рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ notepad.exe ред рдпрджрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП 75ms + (рдФрд░ рдЕрдзрд┐рдХрддрд░ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдЖрдзрд╛рд░рд┐рдд рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП 200-250ms +) рдХреЗ рдмрдЬрд╛рдп 10ms рдЗрдирдкреБрдЯ рд▓реИрдЧ рд╣реИред

WSL рдЯрд░реНрдорд┐рдирд▓ notepad.exe рд╕реЗ рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдпрд╣ UI рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рднреА рд╡рд┐рдВрдбреЛрдЬ рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛ рд▓реЗрдЧрд╛?

рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЬрд╛рдЧрд░реВрдХрддрд╛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рддрд┐рдЧрдорди рдХреЛ рдЙрдореНрдореАрдж рд╕реЗ рд░реЛрдХрдирд╛ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реИред

Issue-Question Product-Conhost

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬрдм рдХреЛрдИ рдЖрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдХрд╛рдо рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рд╣рд░ рджрд┐рди рдЗрддрдиреА рд╢рд┐рдХрд╛рдпрддреЗрдВ рд╕реБрдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкреЛрд╕реНрдЯ рддрд╛рдЬреА рд╣рд╡рд╛ рдХреА рдПрдХ рд╕рд╛рдВрд╕ рд╣реИред рдЖрдкрдХреЗ рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреАрдорд╛рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ, рддрдм рддрдХ рдЖрдкрдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИред рдХреГрдкрдпрд╛ рдХреЛрдИ рднреА рдЕрдиреБрд╡рд░реНрддреА рдорд╛рдВрдЧ рдХрд░реЗрдВред рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░ рдЦрд┐рд▓рдЦрд┐рд▓рд╛рддрд╛ рд╣реВрдВред : рдкреА

рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рд╢рд┐рдХреНрд╖рд┐рдд рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рддреЛ рдореИрдВ рдпрд╣ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдЪрдореБрдЪ рд╣рдорд╛рд░рд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рдо рд╣реИ! рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рднреА рдХрд┐ рд╣рдо рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рдкрд╛рд╕ рдбрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдпрд╣ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред

рдмрд╣реБрдд рдХреБрдЫ рдФрд░ рдЬреЛ рдЖрдкрдиреЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рдд рдпрд╛ рд░реВрдкрд░реЗрдЦрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╛ рдХрдИ, рдХрдИ рдкрд░рддреЗрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдПрдВ, рдЬрдм рдЖрдк рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдирд╣реАрдВ рдХрд░рддреЗред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдВрдЧреЗ, рд╕реБрдкрд░ рд╕рдВрдпреБрдХреНрдд-рд╡рд┐рд╢реЗрд╖ рдЦрд┐рдбрд╝рдХреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рджреА рдЧрдИ рд╣рдорд╛рд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рд╣рдореЗрдВ рдмрдореБрд╢реНрдХрд┐рд▓ рдЧрд┐рд░реА рд╣реБрдИ рдХрд░реНрдиреЗрд▓ рдХреЗ рдКрдкрд░ рд╕реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдИрд╡реЗрдВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рд▓реЗрдХрд░ рд╣рдорд╛рд░реЗ (WPF, WinForms, UWP) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХред рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди)ред рдФрд░ рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд╛рдордЭрд╛рдо рдХреЗ GDI рдХреЗ PolyTextOut рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдкрд╛рда рдХреЛ рдЦрд┐рдбрд╝рдХреА рдХреА рд╕рддрд╣ рдкрд░ рд╕реАрдзрд╛ рдбрдВрдк рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ notepad.exe рдХрд╛ рдЕрдкрдиреА рд╡рд┐рдВрдбреЛ рдкрд░ рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо рдХрдИ рдирд┐рдпрдВрддреНрд░рдг рд╣реИрдВ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рд▓реЗрдЖрдЙрдЯ (рдЬреЛ рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ ...)

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж рд╣реИред рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рдкрд╛рда рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╣рд░ рджреВрд╕рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред RTL? рдЕрднреА рдХреЛрдИ рдЬрд╝реЛрди рдирд╣реАрдВред рд╕рд░реЛрдЧреЗрдЯ рдЬреЛрдбрд╝реЗ рдФрд░ рдЗрдореЛрдЬреА? рд╣рдо рд╡рд╣рд╛рдБ рдкрд╣реБрдБрдЪ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИред рдЗрдВрдбрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ? рдирд╣реАрдВред

рд╣рдо рдРрд╕реЗ рдХреНрдпреЛрдВ рд╣реИрдВ? рдПрдХ рдХреЗ рд▓рд┐рдП, conhost.exe рдЧрдВрджрдЧреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдХреА рдирдВрдЧреА рдзрд╛рддреБ рдХреА рдирд┐рдЪрд▓реА рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдЧрдИ рдереАред рдФрд░ рдпрд╣ рднреА рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрди / рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдкрд╣рд▓реА рдмрд╛рдд рд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдКрдкрд░ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╛ рдЙрди рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ C / C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдХрдо рдФрд░ рдирдВрдЧреЗ рдзрд╛рддреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ UI рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЕрдиреНрдп рдРрдк рдореЗрдВ рдЖрдПрдЧрд╛? рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрдЪреНрдЫреА рдФрд░ рдмреБрд░реА рдЪреАрдЬ рд╣реИред рдореИрдВ рдЙрдирдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдзрд┐ рдФрд░ рд▓реЗрдЖрдЙрдЯ рдкрд╛рда рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдпрд╛ рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░реЗрдВ рдЬреЛ рдЙрдирдХреЗ рдлрд╝реЙрдиреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░реА рдореИрдиреБрдЕрд▓ рдкрд┐рдХреНрд╕реЗрд▓ рдЧрдгрдирд╛, рдЧрдВрджрд╛ рдХреНрд╖реЗрддреНрд░ рдЧрдгрд┐рдд, рд╕реНрдХреНрд░реЙрд▓ рдХреНрд╖реЗрддреНрд░ рдкрд╛рдЧрд▓рдкрди, рдФрд░ рдЕрдзрд┐рдХ рдЗрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдирд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬреА рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рднреА рдИрд░реНрд╖реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рдХрд╣рддрд╛ рд╣реИ "рдЕрд░реЗ рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ" рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрд╕ рдЬрдЧрд╣ рдкрд░ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдХреНрд▓рд┐рдХ рдФрд░ рдбреНрд░реИрдЧ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдпрд╣ рд╡рд╣реАрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрд▓реЙрдЧ рдЖрдЗрдЯрдо рд░рд╣рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдирд╛рд░рд╛рдЬрд╝рдЧреА рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ? рд╣рд╛рдБ! рдЕрднреА рдпрд╣ рдПрдХ рдореИрдиреБрдЕрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рддрд░рд╣ рд╣реИред рд╣рдо рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╣рдо рдбрдмреНрд▓реНрдпреВрдкреАрдЖрд░ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╢рд╛рди рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдо рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдШреВрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЦрд┐рд░реА рдЪрдХреНрд░ рдпрд╛ рджреЛ рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдмрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдвреЗрд░ рдЖрд╡рдВрдЯрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрд░реЛрдз рдкрд░ рд╕реНрдЯреИрдХ-рдирд┐рд░реНрдорд┐рдд рдЗрдЯреНрдЯрд░-рдЬреИрд╕реЗ facades рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЯрди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдвреЗрд░ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрдлрд░ред

рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, @bitcrazed рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдХреЙрдирд╣реЛрд╕реНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдд рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рдореЛрдЯреЗ рджрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдордиреЗ рдкреВрд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреА рд╣реИ, рдФрд░ рд╡реЗ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджрд╛рдиреЗрджрд╛рд░ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ ... рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ рдЙрд╕ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореИрдВ рд╕рднреА рдХрд╛рди рд╣реВрдВред

рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рд╕рд╛рд░рд╛ рджрд┐рди рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдЙрддреНрддрд░ рд╕реЗ 15 рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ ...ред

рд╕рднреА 8 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬрдм рдХреЛрдИ рдЖрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рдХрд╛рдо рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рд╣рд░ рджрд┐рди рдЗрддрдиреА рд╢рд┐рдХрд╛рдпрддреЗрдВ рд╕реБрдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдкреЛрд╕реНрдЯ рддрд╛рдЬреА рд╣рд╡рд╛ рдХреА рдПрдХ рд╕рд╛рдВрд╕ рд╣реИред рдЖрдкрдХреЗ рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдкрдврд╝рдиреЗ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреАрдорд╛рд░ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреЗ, рддрдм рддрдХ рдЖрдкрдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИред рдХреГрдкрдпрд╛ рдХреЛрдИ рднреА рдЕрдиреБрд╡рд░реНрддреА рдорд╛рдВрдЧ рдХрд░реЗрдВред рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдХрд░ рдЦрд┐рд▓рдЦрд┐рд▓рд╛рддрд╛ рд╣реВрдВред : рдкреА

рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рд╢рд┐рдХреНрд╖рд┐рдд рдЕрдВрджрд╛рдЬрд╛ рд▓рдЧрд╛рдирд╛ рдерд╛ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рддреЛ рдореИрдВ рдпрд╣ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдЪрдореБрдЪ рд╣рдорд╛рд░рд╛ рдПрдХрдорд╛рддреНрд░ рдХрд╛рдо рд╣реИ! рд╢рд╛рдпрдж рдЗрд╕рд▓рд┐рдП рднреА рдХрд┐ рд╣рдо рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рдкрд╛рд╕ рдбрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдпрд╣ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред

рдмрд╣реБрдд рдХреБрдЫ рдФрд░ рдЬреЛ рдЖрдкрдиреЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рд╣реИ рдЙрд╕рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рдд рдпрд╛ рд░реВрдкрд░реЗрдЦрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╛ рдХрдИ, рдХрдИ рдкрд░рддреЗрдВ рдФрд░ рд░реВрдкрд░реЗрдЦрд╛рдПрдВ, рдЬрдм рдЖрдк рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдирд╣реАрдВ рдХрд░рддреЗред

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирдВрдЧреЗ, рд╕реБрдкрд░ рд╕рдВрдпреБрдХреНрдд-рд╡рд┐рд╢реЗрд╖ рдЦрд┐рдбрд╝рдХреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдирд┐рдпрдВрддреНрд░рдг рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рджреА рдЧрдИ рд╣рдорд╛рд░реА рдХреБрдВрдЬрд┐рдпреЛрдВ рд╕реЗ рд╣рдореЗрдВ рдмрдореБрд╢реНрдХрд┐рд▓ рдЧрд┐рд░реА рд╣реБрдИ рдХрд░реНрдиреЗрд▓ рдХреЗ рдКрдкрд░ рд╕реЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рди рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдИрд╡реЗрдВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рд▓реЗрдХрд░ рд╣рдорд╛рд░реЗ (WPF, WinForms, UWP) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХред рдЗрд▓реЗрдХреНрдЯреНрд░реЙрди)ред рдФрд░ рд╣рдо рдмрд┐рдирд╛ рдХрд┐рд╕реА рддрд╛рдордЭрд╛рдо рдХреЗ GDI рдХреЗ PolyTextOut рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдкрд╛рда рдХреЛ рдЦрд┐рдбрд╝рдХреА рдХреА рд╕рддрд╣ рдкрд░ рд╕реАрдзрд╛ рдбрдВрдк рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ notepad.exe рдХрд╛ рдЕрдкрдиреА рд╡рд┐рдВрдбреЛ рдкрд░ рдмрд╣реБрдд рдХрдо рд╕реЗ рдХрдо рдХрдИ рдирд┐рдпрдВрддреНрд░рдг рд╣реИрдВ рдФрд░ рд╕рдВрднрд╡рддрдГ рдЕрдкрдиреЗ рдЯреЗрдХреНрд╕реНрдЯ рд▓реЗрдЖрдЙрдЯ (рдЬреЛ рд╕рдВрднрд╡рддрдГ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкрд╛рджрди рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдВрддрд░реНрд░рд╛рд╖реНрдЯреНрд░реАрдпрдХрд░рдг рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ ...)

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рднреА рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж рд╣реИред рд╣рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рдкрд╛рда рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╣рд░ рджреВрд╕рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╣реЛрдЧрд╛ред RTL? рдЕрднреА рдХреЛрдИ рдЬрд╝реЛрди рдирд╣реАрдВред рд╕рд░реЛрдЧреЗрдЯ рдЬреЛрдбрд╝реЗ рдФрд░ рдЗрдореЛрдЬреА? рд╣рдо рд╡рд╣рд╛рдБ рдкрд╣реБрдБрдЪ рд░рд╣реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИред рдЗрдВрдбрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ? рдирд╣реАрдВред

рд╣рдо рдРрд╕реЗ рдХреНрдпреЛрдВ рд╣реИрдВ? рдПрдХ рдХреЗ рд▓рд┐рдП, conhost.exe рдЧрдВрджрдЧреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрд░рд╛рдирд╛ рд╣реИред рдЗрд╕рдореЗрдВ рд╣рд░ рдЪреАрдЬ рдХреА рдирдВрдЧреА рдзрд╛рддреБ рдХреА рдирд┐рдЪрд▓реА рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛рдИ рдЧрдИ рдереАред рдФрд░ рдпрд╣ рднреА рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдореНрди / рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рдкрд╣рд▓реА рдмрд╛рдд рд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕реНрдХрд░рдг рдпрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдКрдкрд░ рд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рднреА рдЕрдЪреНрдЫреА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдпрд╛ рдЙрди рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ C / C ++ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдЬреЛ рдХрдо рдФрд░ рдирдВрдЧреЗ рдзрд╛рддреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ UI рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЕрдиреНрдп рдРрдк рдореЗрдВ рдЖрдПрдЧрд╛? рд▓рдЧрднрдЧ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрдЪреНрдЫреА рдФрд░ рдмреБрд░реА рдЪреАрдЬ рд╣реИред рдореИрдВ рдЙрдирдХреА рдХреНрд╖рдорддрд╛ рд╕реЗ рдИрд░реНрд╖реНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднрд╛рд╖рд╛ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдзрд┐ рдФрд░ рд▓реЗрдЖрдЙрдЯ рдкрд╛рда рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВ рдпрд╛ рдЙрди рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдХрд░реЗрдВ рдЬреЛ рдЙрдирдХреЗ рдлрд╝реЙрдиреНрдЯ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдореЗрд░реА рдореИрдиреБрдЕрд▓ рдкрд┐рдХреНрд╕реЗрд▓ рдЧрдгрдирд╛, рдЧрдВрджрд╛ рдХреНрд╖реЗрддреНрд░ рдЧрдгрд┐рдд, рд╕реНрдХреНрд░реЙрд▓ рдХреНрд╖реЗрддреНрд░ рдкрд╛рдЧрд▓рдкрди, рдФрд░ рдЕрдзрд┐рдХ рдЗрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЙрдирд╕реЗ рдЕрдзрд┐рдХ рддреЗрдЬреА рд╕реЗ рдЪрд▓рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рднреА рдИрд░реНрд╖реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдХрд┐ рдЬрдм рдХреЛрдИ рдХрд╣рддрд╛ рд╣реИ "рдЕрд░реЗ рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреА рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдПрдХ рд╕реНрдЯреЗрдЯрд╕ рдмрд╛рд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ" рдХрд┐ рд╡реЗ рдЕрдкрдиреЗ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрд╕ рдЬрдЧрд╣ рдкрд░ рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдХреНрд▓рд┐рдХ рдФрд░ рдбреНрд░реИрдЧ рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдпрд╣ рд╡рд╣реАрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреИрдХрд▓реЙрдЧ рдЖрдЗрдЯрдо рд░рд╣рд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдирд╛рд░рд╛рдЬрд╝рдЧреА рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ? рд╣рд╛рдБ! рдЕрднреА рдпрд╣ рдПрдХ рдореИрдиреБрдЕрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рддрд░рд╣ рд╣реИред рд╣рдо рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдзреАрдорд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╣рдо рдбрдмреНрд▓реНрдпреВрдкреАрдЖрд░ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд╢рд╛рди рд▓реЗрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЧрд░реНрдо рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдШреВрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╕реБрдзрд╛рд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЦрд┐рд░реА рдЪрдХреНрд░ рдпрд╛ рджреЛ рдореЗрдВ, рд╣рдордиреЗ рдПрдХ рдмрдбрд╝реЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдвреЗрд░ рдЖрд╡рдВрдЯрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛, рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рдПрдВрдб-рдЯреВ-рдПрдВрдб рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрд░реЛрдз рдкрд░ рд╕реНрдЯреИрдХ-рдирд┐рд░реНрдорд┐рдд рдЗрдЯреНрдЯрд░-рдЬреИрд╕реЗ facades рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЯрди рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдвреЗрд░ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдмрдлрд░ред

рдПрдХ рддрд░рдл рдХреЗ рд░реВрдк рдореЗрдВ, @bitcrazed рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреБрдЫ рдХреЙрдирд╣реЛрд╕реНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддреНрдпреЗрдХ рд░рд╛рдд рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдПрдХ рдореЛрдЯреЗ рджрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддрд░реАрдХрд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣рдордиреЗ рдкреВрд░реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджреА рд╣реИ, рдФрд░ рд╡реЗ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рджрд╛рдиреЗрджрд╛рд░ рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ ... рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рддрдХ рдЙрд╕ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рддреЛ рдореИрдВ рд╕рднреА рдХрд╛рди рд╣реВрдВред

рдЕрдЧрд░ рдХреБрдЫ рдФрд░ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред рдореИрдВ рд╕рд╛рд░рд╛ рджрд┐рди рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдБред рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдЙрддреНрддрд░ рд╕реЗ 15 рд╕реНрдкрд░реНрд╢рд░реЗрдЦрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ ...ред

рдирд┐рдореНрди рд╕реНрддрд░ рдХреЗ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ рдХреА рдмрд╛рдд рдХрд░реЗрдВ, рддреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдХрдВрд╕реЛрд▓ (conhost.exe, cmd.exe ...) рдФрд░ WSL (wsl.exe, LxssManager.dll ...) рджреЛрдиреЛрдВ рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ _user рдореЛрдб_ рдШрдЯрдХ C ++ _STER__ рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЗрд░рдлреЗрд░, рдореЗрдореЛрд░реА рдЖрд╡рдВрдЯрди, рд╡рд░реНрдЪреБрдЕрд▓ рдЯреЗрдмрд▓ рдЖрджрд┐ рдореЗрдВ рдХреНрдпрд╛ рдХреЛрдИ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЗрд╡рд▓ рд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдореИрдВ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ C ++ STL "рдЕрддреНрдпрдзрд┐рдХ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рд╡реЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕рдВрдЧреНрд░рд╣ рдФрд░ рд╢рд╛рдпрдж рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЗрд░рдлреЗрд░ рдФрд░ рдпрд╣рд╛рдВ рдпрд╛ рд╡рд╣рд╛рдВ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрди рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрд╕рдЯреАрдПрд▓ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИред

рд▓реЗрдХрд┐рди рд╡реИрд╕реЗ рднреА ... рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪреАрдЬреЗрдВ рд╕реАрдзреЗ рд╕реА рдореЗрдВ рдереЛрдбрд╝реА рджреЗрд░ рдкрд╣рд▓реЗ рд▓рд┐рдЦреА рдЧрдИ рдереАрдВред рд╣рдо рдЪреБрдирд┐рдВрджрд╛ рд╕реАрдСрдлрд╝ рдФрд░ рдПрд╕рдЯреАрдПрд▓ рдХрд╛ рдПрдХ рд╕рдЪреЗрдд рд╡реНрдпрд╛рдкрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЬрдм рддрдХ рд╣рдо рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╕рд╣реА рд▓реЛрдЧреЛрдВ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдо рдЖрдо рддреМрд░ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ рдмрд╣реБрдд рд╣реА рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрд╕рд╛рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрдбрд╝рд╛ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рд╣рдо рдЕрдкрдиреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдПрд╕рдЯреАрдПрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╕рдВрдЧреНрд░рд╣ рдФрд░ рддрд╛рд░ рдХреЗ рд▓рд┐рдП рдПрд╕рдЯреАрдПрд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдо рддреМрд░ рдкрд░ рд╣рдореЗрдВ рд╕реАрдорд╛ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд╕рд╛рде рджреЗрддрд╛ рд╣реИ рдЬреЛ рдЕрдиреНрдпрдерд╛ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рдлреИрд╢рди рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛!)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдХрдбрд╝рд╛рдИ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрдВрд╕реЛрд▓ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ 17 рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрддрд╛рд░рдмрджреНрдз рдФрд░ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реЛрдиреЗ рдкрд░, рдпрд╣ рд╕реАрдзреЗ рдерд╛ рд╕реАрдбреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдордЧреНрд░ рд░реВрдк рд╕реЗ рдмреЗрд╣рддрд░ рдерд╛ :: рдХрддрд╛рд░ рдФрд░ рдПрд╕рдЯреА :: рд╕реВрдЪреА рдЖрдЬред рдпрд╣ рд╕рдВрднрд╡рддрдГ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХ-рдСрди рд╕реНрдерд╛рди рдХрд╛ рдЕрдзрд┐рдХ рд╕реЗрд╡рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдореБрджреНрджрд╛ рд╣реИ (рднрдВрдбрд╛рд░рдг рдФрд░ рдкреГрд╖реНрда-рд▓реЛрдб I / O)ред

рдЙрд╕ рдЙрддреНрддрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдкреНрд░рд╢рдВрд╕рд╛ рдкрд░ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рд╕реЗ рдореИрдВ рдПрдХ рдЕрдЪреНрдЫреЗ рдЯрд░реНрдорд┐рдирд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ tmux рдХреЗ рд╕рд╛рде ubuntu.exe рдкреВрд░реНрдгрддрд╛ рдХреЗ рдХрд░реАрдм рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЖрдЬ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореМрдЬреВрдж рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред ubuntu.exe рдЯрд░реНрдорд┐рдирд▓ рд╣реА рддреЗрдЬреА рд╕реЗ рдзрдзрдХ рд░рд╣рд╛ рд╣реИ рдФрд░ tmux рдЖрдкрдХреЛ рдЬреАрд╡рди рдЙрдкрд╣рд╛рд░ (рдЯреИрдм, рд╕реНрдкреНрд▓рд┐рдЯ рдкреИрди, рдмрдлрд░ рд╕рд░реНрдЪрд┐рдВрдЧ рдЗрддреНрдпрд╛рджрд┐) рдХреЗ рд╕рднреА рдпреЛрдЧреНрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рд┐рд▓реАрдЬ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд░рдВрдЧ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░ рдкрд░ +/- рдЬреВрдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрдХреАрдЬ рдЬреИрд╕реЗ рдЧреБрдгреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡реГрджреНрдзрд┐ рдХрд░рддреЗ рд╣реИрдВред

@miniksa : рдмрд╣реБрдд рд╣реА рд░реЛрдЪрдХ рдкреЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдо рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рд╕рдмрд╕реЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рдкрд╛рд╕ рд░рдлрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рдпрд╣ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реИред

рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рдерд╛ред рдЖрдк рд╡рд┐рднрд┐рдиреНрди Win32 APIs (USER32 / GDI32) рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рд╡реЗ рдЕрднреА рднреА рдирд┐рдореНрди-рд╕реНрддрд░ рдХреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ (8.0 рдФрд░ рдмрд╛рдж рдХреЗ) рдХреЗ рд╣рд╛рд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдпреЗ рдПрдкреАрдЖрдИ рдЪреБрдкрдЪрд╛рдк рдЕрдиреНрдп рд╕рд╛рдорд╛рди рдХреЗ рдКрдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЧрдП рд╣реИрдВ (рдЬреИрд╕реЗ рдХрд┐ Direct2D, DirectWrite, рдЖрджрд┐)ред рдкреБрд░рд╛рдиреЗ API рдирдП рд▓реЛрдЧреЛрдВ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ? рдпрджрд┐ рдЖрдк рдЙрд╕ рдмрд┐рдЯ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛!

@stakx , рдореИрдВ USER32 рдФрд░ GDI32 рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд┐рдП рдмрд┐рдирд╛ рдШрдВрдЯреЛрдВ рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдЕрдкрдиреЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ рдкрддрд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд╕рд░реА рдЕрд╡рд▓реЛрдХрди рджреВрдВрдЧрд╛ред рдЬреИрд╕реЗ, рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВрдбрд╡реЙрд╡рд┐рдВрдЧ рдХреЗ рдЕрдзреАрди рд╣реИрдВ рдФрд░ рд╣рд▓реНрдХреЗ рд░реВрдк рд╕реЗ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╕рдВрднрд╡рддрдГ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХрдерди рдкрд░ рдореЗрд░рд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рджреБрдирд┐рдпрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдФрд░ рд░рд╛рдп рдпрд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдЕрдзреАрди рд╣реИред

рдкрд╛рдЗрдкрд▓рд╛рдЗрди (GDI32) рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, GDI рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рднрд╛рдЧ рдмрд╣реБрдд рдиреАрдЪреЗ рд╣реИрдВред рдРрдк GDI32 рдХрд╣рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдореЛрдб рдкрдХреНрд╖ рдореЗрдВ рдЙрд╕ DLL рдореЗрдВ рдХреБрдЫ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдХрд░реНрдиреЗрд▓ рдХреЙрд▓ рдХрд░реНрдиреЗрд▓ рдХреЗ рдКрдкрд░ рдХреВрджрддрд╛ рд╣реИ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рд╣реЛрддрд╛ рд╣реИред

рдЬрд┐рд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ, "рдЪреБрдкрдЪрд╛рдк рдЕрдиреНрдп рд╕рд╛рдорд╛рди рдХреЗ рдКрдкрд░ рдмреИрдардиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд" рд╢рд╛рдпрдж рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдХрд░реНрдиреЗрд▓ рдХреЙрд▓ рдорд╛рд░рддреЗ рд╣реИрдВ, рддреЛ рдХрд░реНрдиреЗрд▓ GDI рд╕рд╛рдорд╛рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЙрд╕реА рд╕рд╛рдорд╛рди рдХреЗ рдКрдкрд░ рдлрд┐рд░ рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ DirectX рдЬрдм рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ NVIDIA / AMD / Intel / etc рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдЯреИрдХ рдХреЗ рдиреАрдЪреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ GPUред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рд╣реБрдЖ, рдЬреЛ рд╡рд┐рдВрдбреЛрдЬ рд╡рд┐рд╕реНрдЯрд╛ рдХреЗ рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВрдбреАрдПрдордбреА рдХреЗ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рдЬреАрдбреАрдЖрдИ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХреЙрд▓ рдЕрднреА рднреА рддреЗрдЬреА рд╕реЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдорд┐рдВрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдзреАрдореА рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣реАрдВ рдмрд╛рд╣рд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рд╡рд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкрд╛рдпрд╛ рдФрд░ рдЬрд╛рдБрдЪ рдХреА, рддреЛ рд╣рдо рддреЗрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗред

GDI рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреЙрдорди рдХрдВрдЯреНрд░реЛрд▓реНрд╕ рдпрд╛ comctl32.dll рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдХреЛ рдмрдЯрди рдФрд░ рддрддреНрд╡реЛрдВ рдХреЗ рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддреА рдереАрдВ, рддрд╛рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдпреВрдЖрдИ рдХреЛ рдШреЛрд╖рдгрд╛рддреНрдордХ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рд╕реЗ рдкрд╣рд▓реЗ рдмрдирд╛ рд╕рдХреЗрдВред рд╣рдо рдЙрди рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдореЗрдиреВ рд╕реЗ рд╕рдВрдкрддреНрддрд┐ рд╢реАрдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред

DirectWrite рдФрд░ D2D рдФрд░ D3D рдФрд░ рдЦреБрдж DXGI рдХреЗ рд▓рд┐рдП, рд╡реЗ рдХрдорд╛рдВрдб рдФрд░ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рд╣реИрдВ, рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдХрд░реНрдиреЗрд▓ рджреЛрдиреЛрдВ рдореЛрдб рдореЗрдВ GDI рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреВрд░ рд╣реИрдВред рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдиреНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдХреБрдЫ рдЕрдВрддрд░-рдкреНрд░рд╛рд╡рдзрд╛рди рдкреНрд░рд╛рд╡рдзрд╛рди рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдпреВрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣рд╛рд▓рд╛рдВрдХрд┐ DirectX рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред XAML рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ WPF рд╣реИред WinForms рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИред рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд░рдЪрдирд╛ рд╕реНрдЯреИрдХ рдФрд░ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрдПрдХреНрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдкрд╛рдЗрдк рд▓рд╛рдЗрди (USER32) рдХреЗ рдЗрдирдкреБрдЯ / рдЗрдВрдЯрд░реИрдХреНрд╢рди рднрд╛рдЧ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд╕рдмрд╕реЗ рдЕрдиреНрдп рдирдИ рдЪреАрдЬреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реВрдВ (рдХрдо рд╕реЗ рдХрдо рдбреЗрд╕реНрдХрдЯреЙрдк рдкреАрд╕реА рдХреЗ рд▓рд┐рдП) рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ рдЙрд╕рдХреЗ рдКрдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред USER32 рдХреА рдкреНрд░рдореБрдЦ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдФрд░ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдПрдХ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдЖрдк рдПрдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдорд╢реАрди (рдпрд╛ рдПрдХ рд▓реИрдкрдЯреЙрдк рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реЛ ... рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ-рд╢реИрд▓реА рд╡рд╛рд▓рд╛ рд╡рд┐рдВрдбреЛрдЬ-рд╕рдВрдЪрд╛рд▓рд┐рдд рдорд╢реАрди рд╣реИ), рд╡рд╣рд╛рдВ рдПрдХ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢ рддреИрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо USER32 рд╕реЗ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡рд┐рдВрдбреЛ рдореИрд╕реЗрдЬ рдХрддрд╛рд░ рдЬреЛ рдХреБрдЫ рднреА рдЗрдирдкреБрдЯ рдЙрд╕ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЙрд╕рдХреЗ рдареАрдХ рд╕рд╛рдордиреЗ FIFO (рдЕрдзрд┐рдХ рдпрд╛ рдХрдо) рд╣реИ, рдЬрдмрдХрд┐ рдпрд╣ рдЕрдЧреНрд░рднреВрдорд┐ рдореЗрдВ рд╣реИ + рдЬреЛ рднреА рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдВрдбреЛ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╣реИред

рдирдИ рддрдХрдиреАрдХреЛрдВ рдФрд░ XAML рдФрд░ WPF рдФрд░ WinForms рдЬреИрд╕реА рд░реВрдкрд░реЗрдЦрд╛рдПрдБ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдХрддрд╛рд░ рд╕реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдИрд╡реЗрдВрдЯ рдХреЙрд▓рдмреИрдХ рдореЗрдВ рдЙрди рд╡рд┐рднрд┐рдиреНрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЕрдкрдиреА рджреБрдирд┐рдпрд╛ рдХреЗ рднреАрддрд░ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирдИ рддрдХрдиреАрдХреЗрдВ рдЬреЛ рдЕрдиреНрдп рдЧреИрд░-рдбреЗрд╕реНрдХрдЯреЙрдк рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рднреА рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ XAML рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЧреИрд░- USER32 рд╕реНрдЯреИрдХ рдХреЗ рд╕рд╛рдорд╛рди рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред USER32 рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА рдирдП рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдФрд░ рдЕрд╣рд╕рд╛рд╕реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рд╕рдорд╛рдирд╛рдВрддрд░ рд╕реНрдЯреИрдХ рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреИрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдХрддрд╛рд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЦрд┐рдбрд╝рдХреА рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рдпрд╣ CoreWindow рдФрд░ CoreMessaging рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдкреВрд░рд╛ рдХреЛрд░ * рдкрд░рд┐рд╡рд╛рд░ рд╣реИред рдЙрдирдХреЗ рдкрд╛рд╕ "рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ" рдХреА рдПрдХ рдЕрд▓рдЧ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ рдбреЗрд╕реНрдХ рдкрд░ рдПрдХ рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░реАрди рдХреЗ рд╕рд╛рдордиреЗ рд░реЛрд▓рд┐рдВрдЧ рдЪреЗрдпрд░ рдореЗрдВ рдЖрдкрдХреЗ рдмрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рд╣реИред

рдЕрдм, рдпрджрд┐ рдЖрдк XAML рдкрд░ рд╣реИрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИрдВ ... рдпрд╣ рд╕рдм рдЧрд╣рдирддрд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред XAML рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд▓рд┐рдП DirectX рдкрд░ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЖрдкрдХреА рдУрд░ рд╕реЗ рд╢рд╛рдВрдд рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд╝рд┐рдЯрд░ рдФрд░ рд╡рд┐рдВрдбреЛ рдореИрдиреЗрдЬрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреА рдЬрд╛рдПред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ USER32 рдпрд╛ Core * рд╕реЗ рдЖрдкрдХреЗ рдЗрдирдкреБрдЯ рдИрд╡реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╣реИрдВ рдпрд╛ рдЖрдкрдХреЗ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдФрд░ рдЗрдирдкреБрдЯ рд╕реНрдЯреИрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛ рдХреБрдЫ рднреА рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ, рд╡рд╣ рдкреЗрди, рдЯрдЪ, рдХреАрдмреЛрд░реНрдб, рдорд╛рдЙрд╕ рдЗрддреНрдпрд╛рджрд┐ рдХреЛ рдПрдХреАрдХреГрдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдпрд╣ рдкреНрд░рд╛рд╡рдзрд╛рди рд╣реИ рдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реИрд╢реНрд╡реАрдХрд░рдг, рдкрд╣реБрдВрдЪ, рдЗрдирдкреБрдЯ рдЗрдВрдЯрд░реИрдХреНрд╢рди, рдЖрджрд┐ рд╕рд╛рдорд╛рдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдореНрдмреЗрдбреЗрдб рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдк рд╕реАрдзреЗ рдирд┐рдореНрди-рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕рдВрднрд╛рд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред

рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ GDI32 рдФрд░ USER32 рдХреЛ рд╕реАрдорд┐рдд рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢реЛрдВ рдХреЗ рдПрдХ рд╕реАрдорд┐рдд рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдбреЗрд╕реНрдХрдЯреЙрдк рдкреАрд╕реА рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдереА рдЬреЛ рдореМрдЬреВрдж рдереА, рдХреАрдмреЛрд░реНрдб рдФрд░ рдорд╛рдЙрд╕ рдкрд░ рдПрдХрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдХ рд╡реАрдЬреАрдП рдореЙрдирд┐рдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЖрдЙрдЯрдкреБрдЯред рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ "рдирд┐рдореНрди рд╕реНрддрд░" рдкрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЬреИрд╕реЗ рдХрд┐ рдХреЙрдирд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдирдП рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ "рдирд┐рдореНрди рд╕реНрддрд░" рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдм рдЙрди рд╕рднреА рдЪреАрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдЬреЛ 20+ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдШрдЯрд┐рдд рд╣реБрдП рд╣реИрдВ рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдк рдХрд╛рд░рдХ, рдПрдХрд╛рдзрд┐рдХ рд╕рдХреНрд░рд┐рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдХрдИ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдПрдбреЗрдкреНрдЯрд░, рдФрд░ рдкрд░ рдФрд░ рдкрд░ рдФрд░ рдкрд░ рдФрд░ рдкрд░ред рдЗрд╕рд▓рд┐рдП рдЖрдк рдирдП рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдкрдХрд╛ рд╕рд┐рд░ рдлрдЯ рди рдЬрд╛рдПред рд╡реЗ рдЗрд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╡реЗ рдХреБрдЫ рд╣рдж рддрдХ рдзреАрдореЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рд╡реЗ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред

рддреЛ рдХреНрдпрд╛ GDI32 рдФрд░ USER32 рдирдП рд╕рд╛рдорд╛рди рд╕реЗ "рдХрдо" рд╣реИрдВ? рдХреА рддрд░рд╣ред
рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдирдП рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рдХрдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ? рдЬреНрдпрд╛рджрд╛рддрд░ рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдЖрдк рд╢рд╛рдпрдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдХреНрдпрд╛ рдирдпрд╛ рдкреБрд░рд╛рдиреЗ рдХреЗ рдКрдкрд░ рд░рд╣рддрд╛ рд╣реИ рдпрд╛ рдкреБрд░рд╛рдиреЗ рдХреЛ рдирдП рдкрд░ рд░реАрдкреНрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХрднреА-рдХрднреА / рдпрд╛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗред
рдореВрд▓ рд░реВрдк рд╕реЗ ... рдпрд╣ рдХрд┐рд╕реА рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рдЙрддреНрддрд░ рдХреА рддрд░рд╣ рд╣реИ ... "рдпрд╣ рдПрдХ рдЕрд╕рдореНрдмрджреНрдз рдЖрдкрджрд╛ рд╣реИ рдФрд░ рдЕрдЧрд░ рд╣рдо рд╕рднреА рдПрдХ рдкрд▓ рдкреАрдЫреЗ рдЪрд▓реЗ рдЧрдП, рддреЛ рд╣рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред" : рдкреА

рд╡реИрд╕реЗ рднреА, рдПрдХ рд╕реБрдмрд╣ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд░рд╛рдордмрд╛рдг рд╣реИред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдФрд░ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджрд┐рдпрд╛ред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреБрдЫ рд╣рдж рддрдХ рдЖрдкрдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ рдФрд░ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдФрд░ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рджрд┐рдпрд╛ред

@miniksa , рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛! рд╕рд╣реА рд╕рдордЭ рднреА рджреЗрддрд╛ рд╣реИред рдпрд╣ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! : +1:

рдореИрдВ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдЕрдЪреНрдЫреА рд▓рдЧреАред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TayYuanGeng picture TayYuanGeng  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

waf picture waf  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

warpdesign picture warpdesign  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mdtauk picture mdtauk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ