Godot: рд▓рдЧрднрдЧ рд╣рд░ рдмрд╛рд░ рд╕рдмрд╕реЗ рдзреАрдореА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдирд╡ре░ 2018  ┬╖  61рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: godotengine/godot

рдореИрдВ рдЧреЛрдбреЛрдЯ рдХреЗ рдХреЛрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдФрд░ рдореБрдЭреЗ рдХреЛрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдиреАрдЪреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реАрдкреАрдпреВ рд╕рд╛рдЗрдб рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдЙрдкреЗрдХреНрд╖рд╛ рдорд┐рд▓реАред рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рдПрдХ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рд╕рдмрд╕реЗ рдзреАрдореА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЖрдзреБрдирд┐рдХ рдкреАрд╕реА рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рддреЗрдЬ рд╣реЛрдЧреА, рдЦрд╛рд╕рдХрд░ рдЫреЛрдЯреЗ рдЖрдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ред рдпрд╣ рдкреНрд░рдХрд╛рд╢ рд╕реВрдЪреА рдпрд╛ рд░реЗрдВрдбрд░реЗрдмрд▓реНрд╕ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреИрдкреНрдЪрд░ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреНрд░рдмрд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рд╣рд░ рдмрд╛рд░ 3 рдкреЙрдЗрдВрдЯрд░реНрд╕ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдХреЗрд╡рд▓ 8 рдЕрдзрд┐рдХрддрдо рд░реЛрд╢рдиреА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) + рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╣рд╛рдВ рдпрд╣ рд╣реЛрдЧрд╛ рдЙрд╕ рд╕реЗ рднреА рдЕрдзрд┐рдХред

RID_Owner рдПрдХ рдкреЗрдбрд╝ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рд╡рд╣реА рдмрд╛рдд рдЬрд╣рд╛рдВ рдпрд╣ рд╣реИрд╢ рдореИрдк рдпрд╛ рд╕реНрд▓реЙрдЯрдореИрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдСрдХреНрдЯреНрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред

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

рдЗрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдб рдХреЗ рдПрдХ рдЕрдЪреНрдЫреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА "рдЖрд╕рд╛рди" рд╕рдорд╛рдирддрд╛ рдХреЛ рд░реЛрдХрддрд╛ рд╣реИ рдФрд░ рдХреИрд╢ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИред

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

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

discussion enhancement core

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

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

рдореЗрд░рд╛ рдХрд╛рдВрдЯрд╛ https://github.com/vblanco20-1/godot/tree/ECS_Refactor . рдкрд░
image

рджреЛрдиреЛрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдВ, рд░реЗрдб рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ "рдЬреАрдкреАрдпреВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ" рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ opengl рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреНрд░реЙ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдбрд╝рдЪрди рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд▓реНрдХрди рдпрд╛ рд╕рдВрдкреВрд░реНрдг рд░реЗрдВрдбрд░рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реАрдкреАрдпреВ рдХреА рддрд░рдл, рд╣рдо 13 рдПрдордПрд╕ рдлреНрд░реЗрдо рд╕реЗ 5 рдПрдордПрд╕ рдлреНрд░реЗрдо рддрдХ рдЬрд╛рддреЗ рд╣реИрдВред "рддреЗрдЬрд╝" рдлрд╝реНрд░реЗрдо 5.5 ms рд╕реЗ 2.5ms . рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
"рдХреБрд▓ рдлреНрд░реЗрдо" рдкрдХреНрд╖ рдкрд░, рд╣рдо 13 рдПрдордПрд╕ рд╕реЗ 8-9 рдПрдордПрд╕ . рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
~75 рдПрдлрдкреАрдПрд╕ рд╕реЗ ~115 рдПрдлрдкреАрдПрд╕

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

рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд╕реБрдзрд╛рд░ рдЧреЛрдбреЛрдЯ рдореЗрдВ рд╡рд┐рд▓рдп рдпреЛрдЧреНрдп рд╣реИрдВ, рдЕрдЧрд░ рдЧреЛрдбреЛрдЯ рдиреЗ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдерд╛ рдЬреЛ рдмрд╣реБрдд рд╕рд╕реНрддреЗ "рдЫреЛрдЯреЗ" рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбрд╛рдпрдиреЗрдорд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ #25013 рдкрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╢реИрдбреЛ рдФрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд▓рд╛рдЗрдЯрдореИрдк рд░реАрдб рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпреЗ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд░реЗрдВрдбрд░рд░ рдХреЗ рдХрдИ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЗ рднреА рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╣реИрдВред
рдЕрдиреНрдп рд▓рд╛рдн рдПрдХ рдСрдХреНрдЯреНрд░реА рд╣реИрдВ рдЬреЛ рдЧреЛрдбреЛрдЯ рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рд╕реЗ 20 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдХреБрдЫ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╕реБрдзрд╛рд░, рдЬреИрд╕реЗ рдХрд┐ рдЧрд╣рд░рд╛рдИ-рдкреНрд░реАрдкрд╛рд╕ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп-рдкрд╛рд╕ рд░реЗрдВрдбрд░ рд╕реВрдЪреА рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛, рдмрдЬрд╛рдп рд╕реВрдЪреА 2 рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рд╕рдордп, рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдкреНрд░рдХрд╛рд╢-> рдЬрд╛рд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдирд╣реАрдВ!)

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреАрдкреАрдПрд╕ рдбреЗрдореЛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдирдЪрд┐рддреНрд░ рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдореАрдЯреНрд░рд┐рдХ рд╣реЛ рд╕рдХреЗрдВред рдореИрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рднреА рд▓рд┐рдЦрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

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

рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ? :рдЯреНрд░реЙрд▓ рдлрд╝реЗрд╕:

рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдорд╛рдкрддреЗ рд╣реИрдВред

рддреЛ рдпрд╣ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЧреЛрдбреЛрдЯ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд▓рд╛рдЗрдЯ2рдбреА рдиреЛрдб рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдХреНрдпреЛрдВ рдЬрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ?

@ рд░рд╛рдиреЛрд▓рд░ рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рдЦрд░рд╛рдм рд░реЛрд╢рдиреА рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдЗрд╕ рд╕рдордп рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдХрд┐ рдЧреЛрдбреЛрдЯ рдЗрд╕ рд╕рдордп 2рдбреА рдкреНрд░рдХрд╛рд╢ рд╡реНрдпрд╡рд╕реНрдерд╛ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЛ рдПрди-рдмрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ (рдПрди рдХреЗ рд╕рд╛рде рд░реЛрд╢рдиреА рдХреА рд╕рдВрдЦреНрдпрд╛ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд░рд╣реА рд╣реИ)ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рджреЗрдЦреЗрдВ #23593

рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреВрд░реЗ рдХреЛрдб рдореЗрдВ CPU рдкрдХреНрд╖ рдХреА рдЕрдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЗрд╕рдХрд╛ рдЧреЛрдбреЛрдЯ рдлреАрдЪрд░реНрд╕ рдпрд╛ рдЧреЛрдбреЛрдЯ рдЬреАрдкреАрдпреВ рд░реЗрдВрдбрд░рд┐рдВрдЧ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

@ vblanco20-1 рдПрдХ рд╕рд╛рдЗрдб-рдЯреЗрдВрдЬреЗрдВрдЯ рдкрд░, рдЖрдкрдиреЗ рдФрд░ рдореИрдВрдиреЗ рдиреЛрдбреНрд╕ рдХреЗ рдмрдЬрд╛рдп ECS рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдореЙрдбрд▓рд┐рдВрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЪрд╛рд▓ рдПрдХ рдирдП рдИрдПрдирдЯреА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЧреЛрдбреЛрдЯ рдХреА рдлреАрдЪрд░ рд╢рд╛рдЦрд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдзреАрд░реЗ-рдзреАрд░реЗ рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧреАред get_tree() рдФрд░ get_registry() рдХреА рддрд░рд╣ред рдИрдПрдирдЯреА рдореЙрдбреНрдпреВрд▓ рд╢рд╛рдпрдж рдкреЗрдбрд╝/рджреГрд╢реНрдп рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ 80% рдХреА рддрд░рд╣ рдпрд╛рдж рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЯреЗрд╕реНрдЯрдмреЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЦрд╛рд╕рддреМрд░ рдкрд░ рд╕рд╛рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдбрд╝реЗ рд╕реНрдерд┐рд░ рд╕реНрддрд░реЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд╕реНрддреБрдУрдВ (рдХреБрд▓рд┐рдВрдЧ, рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ, рдмреИрдЪ рдкреНрд░рддрд┐рдкрд╛рджрди) рдХреЗ рд╕рд╛рдеред рдХрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдФрд░ рд▓рдЪреАрд▓рд╛рдкрди рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рджрд░реНрд╢рдиред

рдкреВрд░реНрдг рдИрд╕реАрдПрд╕ (рдЬреЛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ) рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореИрдВ рдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдХрдо рд▓рдЯрдХрдиреЗ рд╡рд╛рд▓реЗ рдлрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдмрд╛рдж рдореЗрдВ рд▓рд╛рдЗрди рдХреЗ рдиреАрдЪреЗ рдкреВрд░реНрдг рдбреЗрдЯрд╛-рдЙрдиреНрдореБрдЦ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рддреЛ, рдкрд╣рд▓реЗ рдЕрдкрдбреЗрдЯ:

update_dirty_instances : 0.2-0.25 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ
octree_cull (рдореБрдЦреНрдп рджреГрд╢реНрдп): 0.35 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ

рдордЬреЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛? рдСрдХреНрдЯреНрд░реА рдХрд▓ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рд╕реА рднреА рддреНрд╡рд░рдг рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рд╕рднреА рдПрдПрдмреАрдмреА рдХреЗ рд╕рд╛рде рдПрдХ рдЧреВрдВрдЧрд╛ рд╕рд░рдгреА рдкрд░ рдлрд┐рд░ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИред

рдФрд░ рднреА рдордЬреЗрджрд╛рд░ рд╣рд┐рд╕реНрд╕рд╛? рдирдИ рдХрд▓рд┐рдВрдЧ рдХреЛрдб рдХреА 10 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВред рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рд▓рд╛рдЗрди рдореЗрдВ рдПрдХ рд╣реА рдмрджрд▓рд╛рд╡ рд╣реЛрдЧрд╛ред

рдореИрдВ рд░реЛрд╢рдиреА рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рдирдИ рдХрд▓рд┐рдВрдЧ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕реНрдкреАрдбрдЕрдк рдХрд┐рддрдирд╛ рдЬрдорд╛ рд╣реЛрддрд╛ рд╣реИред

рд╣рдореЗрдВ рд╢рд╛рдпрдж рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдкрд░ рднреА рдПрдХ Google рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣рд╕ рди рдХрд░рдиреА рдкрдбрд╝реЗред

Godotengine/godot-tests рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдирдИ рдЕрдкрдбреЗрдЯ:

image

Ive рдиреЗ 2 рд╕реНрддрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рдЧреВрдВрдЧрд╛ рд╕реНрдерд╛рдирд┐рдХ рддреНрд╡рд░рдг рд╕рдВрд░рдЪрдирд╛ рд▓рд╛рдЧреВ рдХреАред рдореИрдВ рдмрд╕ рдЗрд╕реЗ рд╣рд░ рдлреНрд░реЗрдо рдЙрддреНрдкрдиреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд░реАрдореЗрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЫрд╡рд┐ рдореЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреЛрдк рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд░рдВрдЧреАрди рдмреНрд▓реЙрдХ рдХреЛрдб рдХрд╛ рдПрдХ рдХрд╛рд░реНрдп/рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдЙрд╕ рдХреИрдкреНрдЪрд░ рдореЗрдВ, рдореИрдВ рдПрдХ рд╕реАрдзреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдХреНрдЯреНрд░реА рдХрд▓реНрд▓ рдФрд░ рдорд╛рдИ рдХрд▓реНрдЯ рджреЛрдиреЛрдВ рдХреЛ рд╕рд╛рде-рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

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

рдореБрдЭреЗ рдПрдХ рднреА рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬрд╣рд╛рдВ рдореЗрд░реА рдЧреВрдВрдЧрд╛ рд╕рдВрд░рдЪрдирд╛ рд╡рд░реНрддрдорд╛рди рдСрдХреНрдЯреНрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдореА рд╣реЛ, рдЕрдиреНрдп рдпрд╣ рдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрдорд╛рдг рдХреА рд▓рд╛рдЧрддред

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

рдпрд╣ рдореЗрдореЛрд░реА рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкрд░реЗрд╢рд╛рдиреА рдХреЗ SIMD рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХреА рдХрдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рд╡рд░реНрддрдорд╛рди рдСрдХреНрдЯреНрд░реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред

рдЖрдк рдФрд░ рдЕрдзрд┐рдХ рдкреНрд░рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рдВрд╣рд╛рд╕рди рдХреЗ рдЦреЗрд▓ рдХрд╛ рдЕрдВрдд ....

image

рдПрд▓реНрдЧреЛрд╕ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЕрдм рд╡реЗ рд╕реА ++ 17 рд╕рдорд╛рдВрддрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░, рдпрд╛ рд╕рдорд╛рдВрддрд░ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдореБрдЦреНрдп рдлреНрд░рд╕реНрдЯреНрд░рдо рдХрд▓реНрд▓ рдореЗрдВ рд▓рдЧрднрдЧ x2 рдХрд╛ рд╕реНрдкреАрдбрдЕрдк, рд▓реЗрдХрд┐рди рд░реЛрд╢рдиреА рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдЧрддрд┐ рд╣реИред

рдореЗрд░рд╛ рдХреВрд▓рд░ рдЕрдм рдореБрдЦреНрдп рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдЧреЛрдбреЛрдЯ рдСрдХреНрдЯреНрд░реА рд╕реЗ 10 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИред

рдпрджрд┐ рдЖрдк рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЦреНрдп рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣рд╛рдБ рд╣реИ:
https://github.com/vblanco20-1/godot/blob/4ab733200faa20e0dadc9306e7cc93230ebc120a/servers/visual/visual_server_scene.cpp#L387
рдпрд╣ рдирдпрд╛ рдХрд▓рд┐рдВрдЧ рдлрдВрдХреНрд╢рди рд╣реИред рдПрдХреНрд╕реЗрд▓реЗрд░реЗрд╢рди рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЗрд╕рдХреЗ рдареАрдХ рдКрдкрд░ рдлрдВрдХреНрд╢рди рдкрд░ рд╣реИред

рдЗрд╕реЗ рд╡реАрдПрд╕2015 рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХрдВрд╕реЛрд▓ entt\ рдХреЗ рдЕрдВрджрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдлреЗрдВрдХрддрд╛ рд╣реИ

@Ranoller рдпрд╣ c ++ 17 рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдирдП рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдЙрд╣, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреЛрдбреЛрдЯ рдиреЗ рдЕрднреА рддрдХ c++17 рдореЗрдВ рдХрджрдо рдирд╣реАрдВ рд░рдЦрд╛ рд╣реИ? рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреБрдЫ рдЪрд░реНрдЪрд╛рдПрдБ рдпрд╛рдж рд╣реИрдВ?

рдЧреЛрдбреЛрдЯ рд╕реА++ 03 рд╣реИред рдпрд╣ рдХрджрдо рд╡рд┐рд╡рд╛рджрд╛рд╕реНрдкрдж рд╣реЛрдЧрд╛ред рдореИрдВ рдЬреБрдЖрди рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @ vblanco20-1 рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рдЬрдм рд╡рд╣ рд╣реЙрд▓реАрдбреЗ рдЦрддреНрдо рдХрд░рддрд╛ рд╣реИ ... рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╣рдо рддреБрд░рдВрдд рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ "рдпрд╣ рдХрднреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЯреАрдПрдо

@vblanco20-1

octree_cull (рдореБрдЦреНрдп рджреГрд╢реНрдп): 0.35 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ

рдХрд┐рддрдиреА рд╡рд╕реНрддреБрдПрдВ?

@ nem0

@vblanco20-1

octree_cull (рдореБрдЦреНрдп рджреГрд╢реНрдп): 0.35 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд╕реЗ 0.1 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рддрдХ

рдХрд┐рддрдиреА рд╡рд╕реНрддреБрдПрдВ?

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

рдореЗрд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдПрдПрдмреАрдмреА рдХреЗ 2 рд╕реНрддрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдмреНрд▓реЙрдХреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рдЬрд╣рд╛рдВ рд╣рд░ рдмреНрд▓реЙрдХ рдореЗрдВ 128 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

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

рдЕрднреА, рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдмрд╣реБрдд рд╣реА рдЧреВрдврд╝ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рдЗрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рддреЛ рдЗрд╕рдХрд╛ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВ 128 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рд╡рд┐рднрд┐рдиреНрди рдмреНрд▓реЙрдХ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

Ive рдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирдВрдмрд░реЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдФрд░ 128 рдкреНрд░рддрд┐ рдмреНрд▓реЙрдХ рдЕрднреА рднреА рдХрд┐рд╕реА рддрд░рд╣ рдорд┐рдард╛рдИ рдХреА рдЬрдЧрд╣ рд▓рдЧрддрд╛ рд╣реИред

рдЫреЛрдЯреА рд╡рд╕реНрддреБрдУрдВ рд╕реЗ "рдмрдбрд╝реА" рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХреЛ рдмрджрд▓рдХрд░, ive рдПрдХ рдФрд░ 30% рдЧрддрд┐ рдЙрдиреНрдирдпрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдХреЗрдВрджреНрд░ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдмрдбрд╝реА рд╡рд╕реНрддреБрдПрдВ рдмреНрд▓реЙрдХ рдПрдПрдмреАрдмреА рдХреЛ рдлреВрд▓рд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЫреЛрдЯреА рд╡рд╕реНрддреБрдПрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ 3 рдЖрдХрд╛рд░ рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

рдмреНрд▓реЙрдХ рдкреАрдврд╝реА рдЕрднреА рднреА рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реИред рдмрдбрд╝реЗ рдмреНрд▓реЙрдХ рдХреЗрд╡рд▓ 10 рд╕реЗ 20% рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдХреЗрдВрджреНрд░ рдореЗрдВ рджреЗрдЦрддреЗ рд╕рдордп, рдФрд░ 50% рддрдХ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рджреЗрдЦрддреЗ рд╕рдордп рдЦреАрдВрдЪ рд▓реЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдПрдмреАрдмреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реБрдзрд╛рд░ рд╢рд╛рдпрдж рд╡рд░реНрддрдорд╛рди рдСрдХреНрдЯреНрд░реА рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдЗрд╕реЗ "рд╕рдорддрд▓" рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЕрдм рдРрд╕рд╛ рдПрдХ рднреА рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдВ рдореЗрд░рд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдмрд┐рдирд╛ рднреА рд╡рд░реНрддрдорд╛рди рдСрдХреНрдЯреНрд░реА рдХреЗ рдмрд░рд╛рдмрд░ рдпрд╛ рдмрджрддрд░ рд╣реЛред

@ vblanco20-1 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк release рдореЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдЧреЛрдбреЛрдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рддреБрд▓рдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЬреЛ -O3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ) рдФрд░ рдбреАрдмрдЧ рдореЗрдВ рдирд┐рдпрдорд┐рдд рд╕рдВрдкрд╛рджрдХ рдмрд┐рд▓реНрдб рдирд╣реАрдВ (рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИ) рд╕рд╣реА рд╣реИ ?
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рдПрдХ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рдкреНрд░рд╢реНрди рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред
рд╡реИрд╕реЗ рднреА рдЕрдЪреНрдЫрд╛ рдХрд╛рдо :)

@Faless рдЗрд╕рдХреА

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

рдпрд╣ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ рдХрд┐ рдореЗрд░реЗ рдПрдХ рдкреНрд░рдпреЛрдЧ рдиреЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрд╣рд╛рдВ рдореИрдВ 400,000 рднреМрддрд┐рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЙрдЫрд▓ рд░рд╣рд╛ рд╣реВрдВред

image

рдЕрдм рдирдИ рдХрд▓рд┐рдВрдЧ рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╣реИред рдмреНрд▓реЙрдХ рдЬреЗрдирд░реЗрд╢рди рдЕрдм рдХрд╣реАрдВ рдЬреНрдпрд╛рджрд╛ рд╕реНрдорд╛рд░реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рд╣реЛ рд░рд╣рд╛ рд╣реИред рд░реЛрд╢рдиреА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдХрд╛рдВрдЯреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд┐рдпрд╛ рд╣реИ

рдореБрдЭреЗ рдЙрддреНрд╕реБрдХрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рдЙрд╕ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдЯреВрд▓ (рдЖрдкрдХреЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╕реЗ рдПрдХ) рдХреЛ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдХрд┐рддрдирд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдПрдХ рдбрдореА рд╣реВрдБ, рд╡реВрдкреНрд╕ред

@ LikeLakers2 рдЖрдк рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рдЙрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рджреЛрдиреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрд╕рдиреЗ рдЗрд╕реЗ рдорд╛рд╕реНрдЯрд░ рдлреЛрд░реНрдХ рдкрд░ рдЪрд▓рд╛рдпрд╛

рдмреБрдзрд╡рд╛рд░, рджрд┐рд╕рдВрдмрд░ 12, 2018 рдкрд░, MichiRecRoom [email protected]
рд▓рд┐рдЦрд╛ рдерд╛:

@neikeq https://github.com/neikeq рд╕рдордЭрд╛рдПрдВ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ
рдЬреЛ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд╡реЗ рдХреЗрд╡рд▓ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдереЗ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреЛрд╕реНрдЯ рдХреИрд╕реЗ рд╣реИрдВ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рд╕рд╛рде рдЕрдм рддрдХ рд╢рдмреНрджрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/godotengine/godot/issues/23998#issuecomment-446831151 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ADLZ9pRh9Lksse9KBfWV0z5GmHRXf5P2ks5u4crCgaJpZM4YziJp
.

рдХреНрдпрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?

рдХреНрдпрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рдЦрдмрд░ рд╣реИ?

рдореИрдВрдиреЗ рд░реЗрдбрдЬрд╝ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХреАред рдХрднреА рдорд░реНрдЬрд░ рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЕрдиреНрдп рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдЧрдпрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдмрд╛рдж рдореЗрдВ 4.0 . рдХреЗ рд▓рд┐рдП рдХреВрд▓рд┐рдВрдЧ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рджреВрдВ

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

рд╢рд╛рдпрдж рдЗрд╕реЗ 4.0 рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЪреВрдВрдХрд┐ Reduz 4.0 рдХреЗ рд▓рд┐рдП рд╡рд▓реНрдХрди рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд┐рд╖рдп, рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдУрдкреА рд╣реИред

@ vblanco20-1 рдХреНрдпрд╛ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ? рдореИрдВ рд╕реА ++ 17 рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреЗ рдХрд╛рд░рдг рдорд╛рди рд░рд╣рд╛ рд╣реВрдВ?

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореАрд▓ рдХреЗ рдкрддреНрдерд░ рдкрд░ рдПрдХ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛ рд╣реИ: #25013

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

рдореЗрд░рд╛ рдХрд╛рдВрдЯрд╛ https://github.com/vblanco20-1/godot/tree/ECS_Refactor . рдкрд░
image

рджреЛрдиреЛрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдВ, рд░реЗрдб рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ "рдЬреАрдкреАрдпреВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ" рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ opengl рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреНрд░реЙ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдбрд╝рдЪрди рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд▓реНрдХрди рдпрд╛ рд╕рдВрдкреВрд░реНрдг рд░реЗрдВрдбрд░рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕реАрдкреАрдпреВ рдХреА рддрд░рдл, рд╣рдо 13 рдПрдордПрд╕ рдлреНрд░реЗрдо рд╕реЗ 5 рдПрдордПрд╕ рдлреНрд░реЗрдо рддрдХ рдЬрд╛рддреЗ рд╣реИрдВред "рддреЗрдЬрд╝" рдлрд╝реНрд░реЗрдо 5.5 ms рд╕реЗ 2.5ms . рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
"рдХреБрд▓ рдлреНрд░реЗрдо" рдкрдХреНрд╖ рдкрд░, рд╣рдо 13 рдПрдордПрд╕ рд╕реЗ 8-9 рдПрдордПрд╕ . рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ
~75 рдПрдлрдкреАрдПрд╕ рд╕реЗ ~115 рдПрдлрдкреАрдПрд╕

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

рдЗрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд╕реБрдзрд╛рд░ рдЧреЛрдбреЛрдЯ рдореЗрдВ рд╡рд┐рд▓рдп рдпреЛрдЧреНрдп рд╣реИрдВ, рдЕрдЧрд░ рдЧреЛрдбреЛрдЯ рдиреЗ рдЖрдзреБрдирд┐рдХ рд╕реА ++ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдФрд░ рдПрдХ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдерд╛ рдЬреЛ рдмрд╣реБрдд рд╕рд╕реНрддреЗ "рдЫреЛрдЯреЗ" рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбрд╛рдпрдиреЗрдорд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ #25013 рдкрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╢реИрдбреЛ рдФрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд▓рд╛рдЗрдЯрдореИрдк рд░реАрдб рдХрд░рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдпреЗ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд░реЗрдВрдбрд░рд░ рдХреЗ рдХрдИ рдЕрдиреНрдп рд╣рд┐рд╕реНрд╕реЗ рднреА рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рд╣реИрдВред
рдЕрдиреНрдп рд▓рд╛рдн рдПрдХ рдСрдХреНрдЯреНрд░реА рд╣реИрдВ рдЬреЛ рдЧреЛрдбреЛрдЯ рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рд╕реЗ 20 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдХреБрдЫ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╕реБрдзрд╛рд░, рдЬреИрд╕реЗ рдХрд┐ рдЧрд╣рд░рд╛рдИ-рдкреНрд░реАрдкрд╛рд╕ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп-рдкрд╛рд╕ рд░реЗрдВрдбрд░ рд╕реВрдЪреА рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛, рдмрдЬрд╛рдп рд╕реВрдЪреА 2 рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рд╕рдордп, рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдкреНрд░рдХрд╛рд╢-> рдЬрд╛рд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдирд╣реАрдВ!)

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЯреАрдкреАрдПрд╕ рдбреЗрдореЛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдорд╛рдирдЪрд┐рддреНрд░ рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдореАрдЯреНрд░рд┐рдХ рд╣реЛ рд╕рдХреЗрдВред рдореИрдВ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рднреА рд▓рд┐рдЦрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@ vblanco20-1 рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдорд╛рд▓ рд╣реИред рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рднреА рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рднрд▓реЗ рд╣реА рд╡рд▓реНрдХрди рд╢рд╛рдВрдд рд╣реИ, рдлрд┐рд░ рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ GLES3 рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдирд╛ рдЧреЛрдбреЛрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрдг рдЬреАрдд рд╣реЛрдЧреАред рдкреВрд░реНрдг рд╡рд▓реНрдХрди рд╕рдорд░реНрдерди рд╕рдВрднрд╡рддрдГ рдЬрд▓реНрдж рд╣реА рдХрднреА рднреА рдирд╣реАрдВ рдЖрдПрдЧрд╛, рдЬрдмрдХрд┐ GLES3 рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдпрд╣рд╛рдБ рдХреЗ рд▓реЛрдЧ рдЕрднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рд╛рдмрд┐рдд рд╣реБрдП рд╣реИрдВред

рдЗрд╕ рдкрд░ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╡рд┐рд╢рд╛рд▓ +1ред рдЕрдЧрд░ Reduz рд╕рдореБрджрд╛рдп рдХреЛ GLES3 рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрддрд╛ рддреЛ рдореИрдВ рдкреГрдереНрд╡реА рдкрд░ рд╕рдмрд╕реЗ рдЦреБрд╢ рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддрд╛ред рд╣рдо рдЕрдм 1.5 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЧреЛрдбреЛрдЯ рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рдЧрдВрднреАрд░ 3рдбреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╣рдо рдЧреЛрдбреЛрдЯ (рджрд╛рди рд╕рд╣рд┐рдд) рдХреЗ рдкреНрд░рддрд┐ рдмрд╣реБрдд рд╕рд╣рд╛рдпрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдареЛрд╕ 60 рдПрдлрдкреАрдПрд╕ рдХреА рдХрдореА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рднреА рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ рдПрдХ рдмрдбрд╝реЗ рдЬреЛрдЦрд┐рдо рдореЗрдВ рдбрд╛рд▓ рджреЗрддреА рд╣реИред

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рдХреНрд░реЗрдбрд┐рдЯ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди (3D рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдмрд╣реБрдд рд╕рд░рд▓) рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде 60 FPS рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ, рддреЛ рд╣рдо рдПрдХ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдЧреЗрдо рджреЗрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣реЗрдВрдЧреЗ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕рднреА рдкреНрд░рдпрд╛рд╕ рд╡реНрдпрд░реНрде рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред :/

@ vblanco20-1 рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

PS рдХреБрдЫ рд╡рд┐рдЪрд╛рд░: рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2 GLES3 рд░реИрд╕реНрдЯрд░рд╛рдЗрдЬрд╝рд░ - GLES3 рдФрд░ GLES3-рд╕рдореБрджрд╛рдп рдХрд╛ рдХрд╣рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

PS рдХреБрдЫ рд╡рд┐рдЪрд╛рд░: рдЕрдВрддрд┐рдо рдЙрдкрд╛рдп рдХреЗ рд░реВрдк рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 2 GLES3 рд░реИрд╕реНрдЯрд░рд╛рдЗрдЬрд╝рд░ - GLES3 рдФрд░ GLES3-рд╕рдореБрджрд╛рдп рдХрд╛ рдХрд╣рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ; GLES3 рдФрд░ GLES2 рд░реЗрдВрдбрд░рд░реНрд╕ рдореЗрдВ рд╕реАрдзреЗ рд╕реБрдзрд╛рд░ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╢рд╛рдпрдж рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдореМрдЬреВрджрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкреНрд░рдореБрдЦ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЛ рдирд╣реАрдВ рддреЛрдбрд╝рддреЗ)ред

рдЕрдиреНрдп рд▓рд╛рдн рдПрдХ рдСрдХреНрдЯреНрд░реА рд╣реИрдВ рдЬреЛ рдЧреЛрдбреЛрдЯ рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 10 рд╕реЗ 20 рдЧреБрдирд╛ рддреЗрдЬ рд╣реИ, рдФрд░ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рдХреБрдЫ рдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рд╕реБрдзрд╛рд░, рдЬреИрд╕реЗ рдХрд┐ рдЧрд╣рд░рд╛рдИ-рдкреНрд░реАрдкрд╛рд╕ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп-рдкрд╛рд╕ рд░реЗрдВрдбрд░ рд╕реВрдЪреА рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛, рдмрдЬрд╛рдп рд╕реВрдЪреА 2 рдХреЛ рдкреБрдирд░рд╛рд╡реГрддреНрдд рдХрд░рдирд╛ рд╕рдордп, рдФрд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдкреНрд░рдХрд╛рд╢-> рдЬрд╛рд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдирд╣реАрдВ!)

@ vblanco20-1 рдХреНрдпрд╛ рд╕реА ++ 03 рдкрд░ рд░рд╣рддреЗ рд╣реБрдП рдЧрд╣рд░рд╛рдИ рдкреНрд░реАрдкрд╛рд╕ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛?

@Calinou рдЧрд╣рд░рд╛рдИ рд╕реЗ

@ vblanco20-1 рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореИрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдкрдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

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

рдЧреЛрдбреЛрдЯ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрди рдирдореВрдиреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Profiler.Begin рдФрд░ Profiler.End рдЭрдВрдбреЗ рдХреЛ рдЧреЛрдбреЛрдЯ рд╕реНрд░реЛрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЧреЛрдбреЛрдЯ рдХреЛ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрди рдирдореВрдиреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Profiler.Begin рдФрд░ Profiler.End рдЭрдВрдбреЗ рдХреЛ рдЧреЛрдбреЛрдЯ рд╕реНрд░реЛрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рдЯреНрд░реЗрд╕реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдХреЛрдк рдкреНрд░реЛрдлрд╛рдЗрд▓ рдорд╛рд░реНрдХ рд╣реИрдВ, рдЬрд┐рдирдХрд╛ рдореИрдВ рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП ZoneScopedNC("Fill List", 0x123abc) рдЙрд╕ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ рдЪрд┐рд╣реНрди рдФрд░ рдЖрдкрдХреЗ рдЗрдЪреНрдЫрд┐рдд рд╣реЗрдХреНрд╕ рд░рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИред

@ vblanco20-1 - рдХреНрдпрд╛ рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдЧреЛрдбреЛрдЯ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓рд╛рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗ?

@ vblanco20-1 - рдХреНрдпрд╛ рд╣рдо рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдЧреЛрдбреЛрдЯ рдореБрдЦреНрдп рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓рд╛рддреЗ рд╣реБрдП рджреЗрдЦреЗрдВрдЧреЗ?

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЬрдм C++ 11 рд╕рдорд░реНрдерд┐рдд рд╣реЛред рд▓реЗрдХрд┐рди рд╡рд▓реНрдХрди рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд░реЗрдбреНрдпреВрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░реЗрдВрдбрд░рд░ рдкрд░ рдЕрдзрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдХрднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдХрд╛рд░реНрдп рдХреЗ рдХреБрдЫ рдирд┐рд╖реНрдХрд░реНрд╖ 4.0 рд░реЗрдВрдбрд░рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

@ vblanco20-1 рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рддреЛ рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВред

рдХреНрдпрд╛ рд╣рдо рдПрдПрдмреАрдмреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЧреЛрдбреЛрдЯ рдореБрдЦреНрдп рдореЗрдВ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рд▓рд╛рдЧрдд рдХреЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

@ vblanco20-1 рд╢рд╛рдЦрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдорди, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рддреЛ рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рди рдХрд░реЗрдВред

рдХреНрдпрд╛ рд╣рдо рдПрдПрдмреАрдмреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЧреЛрдбреЛрдЯ рдореБрдЦреНрдп рдореЗрдВ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рд▓рд╛рдЧрдд рдХреЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ?

@swarnimarun рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 17 рдпрд╛ 19, рдмрд╛рдж рдХреЗ рдЕрдкрдбреЗрдЯ рдореЗрдВ рд╕реЗ рдПрдХ, рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред (рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдБ)
cpp17 рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╕рд╛рде рд╣реА, рд▓реЙрдиреНрдЪрд┐рдВрдЧ рдПрдбрд┐рдЯрд░ рдЕрднреА рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

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

@ vblanco20-1 рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреИрдЯреНрд░рд┐рдпрди рд╣реИ? рдореИрдВ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рдПрдХ рдХрд╛рдВрдЯрд╛ рдХреА рдУрд░ рдХреБрдЫ рдкреИрд╕реЗ рдбрд╛рд▓реВрдВрдЧрд╛ рдФрд░ рдпрд╣ рдЦреБрдж рдХреЛ рдкреНрд░рд╛рдЪреАрди рд╕реА ++ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рд╢рд╛рдпрдж рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВред рдореИрдВ 3рдбреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЧреЛрдбреЛрдЯ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдореНрдореАрдж рдЦреЛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕рдмреВрдд рдХреЗ рдмрд┐рдирд╛ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдПрдХ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ рдХреЛрд░ рдЯреАрдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рд╛рдмрд┐рдд рдХрд░рддреА рд╣реИред

@mixedCase рдореБрдЭреЗ рдЧреЛрдбреЛрдЯ рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рдж рд╕рдВрдХреЛрдЪ рд╣реЛрдЧрд╛ред рдлреЛрд░реНрдХрд┐рдВрдЧ рдФрд░ рд╡рд┐рдЦрдВрдбрди рдЕрдХреНрд╕рд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдореМрдд рд╣реИред

рдмреЗрд╣рддрд░ рдкрд░рд┐рджреГрд╢реНрдп, рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрдм рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдирдпрд╛ рд╕реА ++ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЧреЛрдбреЛрдЯ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕реА ++ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЧреЛрдбреЛрдЯ 4.0 рдореЗрдВ рд╣реЛрдЧрд╛, 3.2 рдореЗрдВ рдЯреВрдЯрдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рдордп рдореЗрдВ рдирдИ рд╕реА ++ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд▓реНрдХрди рдХреЛ рдЧреЛрдбреЛрдЯ 4.0 рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рднреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИ рдХрд┐ GLES 3 рд░реЗрдВрдбрд░рд░ рдореЗрдВ рдХреЛрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ reduz рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

(рд▓реЗрдХрд┐рди рдореИрдВ рдЧреЛрдбреЛрдЯ рджреЗрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмреЛрд▓рддрд╛, рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рдЕрдЯрдХрд▓реЗрдВ рд╣реИрдВ)

@aaronfranke рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕реНрдерд╛рдпреА рдХрд╛рдВрдЯрд╛ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдЬреЛ рдХреБрдЫ рдХрд╣рд╛ рд╣реИ рдЙрд╕рд╕реЗ рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рд╣реИ (рдЕрдЧрд░ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ рддреЛ рдХреГрдкрдпрд╛ рдореБрдЭреЗ рд╕реБрдзрд╛рд░реЗрдВ) рдпрд╣ рд╣реИ рдХрд┐ @reduz рдХрд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЗрди рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд╛рдпрдХ рдХреБрдЫ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ "рдЕрдкрдардиреАрдп" рдХреЛрдб рдмрдирд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП "рд╕рдВрд╡рд░реНрдзрд┐рдд рд╕реА" рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реА ++ рд▓рдЧрднрдЧ 10 рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛)ред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдЬреБрдЖрди рдПрдХ рдмрд╣реБрдд рд╣реА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡реНрдпрдХреНрддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдпрд╣ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕рдмреВрдд рд▓реЗрдЧрд╛ рдЬреЛ рдЖрдзреБрдирд┐рдХ рдЕрдореВрд░реНрддрддрд╛ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрд╕реЗ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рджрд┐рд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдХрд┐ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рд╡реНрдпрд╛рдкрд╛рд░ рдмрдВрдж рд╢рд╛рдпрдж рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред @ vblanco20-1 рдиреЗ рдЕрдм рддрдХ рдЕрджреНрднреБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╣рд░ рдорд╣реАрдиреЗ рдХреБрдЫ рдкреИрд╕реЗ рдбрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдВрдХреЛрдЪ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдЕрдЧрд░ рд╡рд╣ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

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

рдпрд╣ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рдареАрдХ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдЧреЛрдбреЛрдЯ рдПрд╕рдЯреАрдПрд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рдФрд░ рдЙрд╕рдХреЗ рд╕реА++03 рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдореВрд╡ рдСрдкрд░реЗрдЯрд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдХрдВрдЯреЗрдирд░ рд╕реНрд╡рдпрдВ рдПрд╕рдЯреАрдПрд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рднреА рдмрджрддрд░ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдореЗрд░реЗ рдкрд╛рд╕ рдЧреЛрдбреЛрдЯ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рд╣реИред

рдкреНрд░реАрд▓реЛрдХреЗрдЯреЗрдб рд╕реА ++ рд╕рд░рдгреАред рдкреВрд░реЗ рдЗрдВрдЬрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрд╣реБрдд рдЖрдо рд╣реИред рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд░реЗрдВрдбрд░рд░ рдореЗрдВ рдмрд╣реБрдд рдЖрдо рд╣реИ, рдФрд░ рдПрдХ рдЙрдЪрд┐рдд рдЧрддрд┐рд╢реАрд▓ рд╕рд░рдгреА рд╡рд░реНрдЧ рдпрд╣рд╛рдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рджреБрд░реБрдкрдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг: https://github.com/godotengine/godot/blob/master/servers/visual/visual_server_scene.h#L442
рдпрд╣ рд╕рд░рдгрд┐рдпрд╛рдБ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд╕реНрдореГрддрд┐ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рд░рд╣реА рд╣реИрдВ, рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдпрд╣рд╛рдБ рдПрдХ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдЙрд╕реА рдЖрдХрд╛рд░ рдХрд╛ рдмрдирд╛ рджреЗрдЧрд╛ рдЬрд┐рд╕рдХреА рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдПрдХ рд╕рдВрдХрд▓рди рд╕реНрдерд┐рд░рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдХреЗред MAX_INSTANCE_CULL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕* рд╕рд░рдгрд┐рдпрд╛рдБ рдЖрдзрд╛ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИрдВ

рд╡реЗрдХреНрдЯрд░ (рд╡реЗрдХреНрдЯрд░ред рдПрдЪ) рдПрдХ рдПрд╕рдЯреАрдбреА :: рд╡реЗрдХреНрдЯрд░ рдЧрддрд┐рд╢реАрд▓ рд╕рд░рдгреА рд╕рдордХрдХреНрд╖, рд▓реЗрдХрд┐рди рдПрдХ рдЧрд╣рд░реА рджреЛрд╖ рдХреЗ рд╕рд╛рдеред
рд╡реЗрдХреНрдЯрд░ рдХреЛ рдХреЙрдкреА-рдСрди-рд░рд╛рдЗрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкрд░рдорд╛рдгреБ рд░реВрдк рд╕реЗ рдкреБрдирд░реНрдЧрдгрдирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдм рдЖрдк рдХрд░реЗрдВрдЧреЗ

рд╡реЗрдХреНрдЯрд░ рдП = рдмрд┐рд▓реНрдб_рд╡реЗрдХреНрдЯрд░ ();
рд╡реЗрдХреНрдЯрд░ рдмреА = рдП;

рд░реЗрдлрд╝рдХрд╛рдЙрдВрдЯ 2 рдкрд░ рдЬрд╛рдПрдЧрд╛ред рдмреА рдФрд░ рдП рдЕрдм рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдмрд╛рд░ рд╕рдВрдкрд╛рджрди рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕рд░рдгреА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдпреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЕрдм рд╡реЗрдХреНрдЯрд░ A рдпрд╛ B рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдХреЙрдкреА рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред

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

рдкреВрд▓рд╡реЗрдХреНрдЯрд░ (рдкреВрд▓_рд╡реЗрдХреНрдЯрд░.рдПрдЪ)ред рдХрдореЛрдмреЗрд╢ рдПрдХ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рдорд╛рди, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдкреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВред рдЗрд╕рдореЗрдВ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рдорд╛рди рд╣реА рдиреБрдХрд╕рд╛рди рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рдХреЙрдкреА рдСрди рд░рд╛рдЗрдЯ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдбрд╛рдЙрдирд╕рд╛рдЗрдЬрд╝рд┐рдВрдЧред

рд╕реВрдЪреА ( list.h ) рдПрдХ рдПрд╕рдЯреАрдбреА :: рд╕реВрдЪреА рд╕рдордХрдХреНрд╖ред рд╕реВрдЪреА рдореЗрдВ 2 рдкреЙрдЗрдВрдЯрд░реНрд╕ (рдкрд╣рд▓рд╛ рдФрд░ рдЖрдЦрд┐рд░реА) + рдПрдХ рдПрд▓рд┐рдореЗрдВрдЯ рдХрд╛рдЙрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рд╣реИред рд╕реВрдЪреА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдбрдмрд▓ рд▓рд┐рдВрдХреНрдб рд╣реИ, рд╕рд╛рде рд╣реА рд╕реВрдЪреА рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЙрдЗрдВрдЯрд░ рднреА рд╣реИред рд╕реВрдЪреА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдУрд╡рд░рд╣реЗрдб 24 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рд╡реЗрдХреНрдЯрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЧреЛрдбреЛрдЯ рдореЗрдВ рдЗрд╕рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреВрд░реЗ рдЗрдВрдЬрди рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдмрдбрд╝реЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
https://github.com/godotengine/godot/blob/master/servers/visual/visual_server_scene.h#L129
рдЗрд╕рдХреА рд╕реВрдЪреА рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ, рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
https://github.com/godotengine/godot/blob/master/servers/visual/visual_server_scene.h#L242
рдЗрдирдореЗрдВ рд╕реЗ рд╣рд░ рдПрдХ рдорд╛рдорд▓рд╛ рдЧрд▓рдд рд╣реИред рдлрд┐рд░ рд╕реЗ, рдпрд╣ рд╡реЗрдХреНрдЯрд░ рдпрд╛ рд╕рдорд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рдХреБрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдСрдХреНрдЯреНрд░реА рдореЗрдВ рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЧрд▓рддреА рд╣реИред рдореИрдВ рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ рдЧреЛрдбреЛрдЯ рдСрдХреНрдЯреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛ рдЪреБрдХрд╛ рд╣реВрдБред

SelfList(self_list.h) рдПрдХ рдШреБрд╕рдкреИрда рд╕реВрдЪреА, boost::intrusive_list рдХреЗ рд╕рдорд╛рдиред рдпрд╣ рд╣рдореЗрд╢рд╛ 32 рдмрд╛рдЗрдЯреНрд╕ рдУрд╡рд░рд╣реЗрдб рдкреНрд░рддрд┐ рдиреЛрдб рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛ рднреА рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреВрд░реЗ рдЗрдВрдЬрди рдкрд░ рдЕрддреНрдпрдзрд┐рдХ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдЙрджрд╛рд╣рд░рдг:
https://github.com/godotengine/godot/blob/master/servers/visual/visual_server_scene.h#L159
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЦрд░рд╛рдм рд╣реИред рдкреВрд░реЗ рдЗрдВрдЬрди рдореЗрдВ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдореЗрдВ рд╕реЗ рдПрдХред рдпрд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рдЗрдВрдЬрди рдореЗрдВ рд╣рд░ рдПрдХ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд╕реНрддреБ рдореЗрдВ рдореЛрдЯрд╛рдкрд╛ рдХреЗ 8 рд╕рдВрдХреЗрдд рдЬреЛрдбрд╝ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣, рдлрд┐рд░ рд╕реЗ, рдПрдХ рд╕реНрд▓реЙрдЯрдореИрдк рдпрд╛ рдПрдХ рд╡реЗрдХреНрдЯрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпрд╣реА рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред

рдирдХреНрд╢рд╛(map.h) рдПрдХ рд▓рд╛рд▓-рдХрд╛рд▓реЗ рдкреЗрдбрд╝ред рдЗрд╕рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧреЛрдВ рдореЗрдВ рд╣реИрд╢рдореИрдк рдХреЗ рд░реВрдк рдореЗрдВ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдВрдЬрди рд╕реЗ OAHashmap рдпрд╛ Hashmap рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рд╣рд░ рдЙрдкрдпреЛрдЧ рдЧрд▓рдд рдерд╛ред рдореБрдЭреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рд╣реИрд╢рдореИрдк (hash_map.h) рдореЛрдЯреЗ рддреМрд░ рдкрд░ std::unordered_map рдХреЗ рдмрд░рд╛рдмрд░, рд▓рд┐рдВрдХреНрдб рд▓рд┐рд╕реНрдЯ рдмрдХреЗрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдмрдВрдж

OAHashMap (oa_hash_map.h) рдирдпрд╛ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рддреЗрдЬрд╝ рдУрдкрди-

CommandQueueMT(command_queue_mt.h) рдХрдорд╛рдВрдб рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрд╡рд░реЛрдВ рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕рд░реНрд╡рд░ред рдпрд╣ рдЖрд╡рдВрдЯрдХ рдкреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб 250 kb рд╕рд░рдгреА рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдХреЙрд▓ () рдФрд░ рдкреЛрд╕реНрдЯ () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреБрд╢/рдкреЙрдк рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдореНрдпреВрдЯреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореНрдпреВрдЯреЗрдХреНрд╕ рдХреЛ рд▓реЙрдХ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рдВрдЧрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдореВрдбреАрдХреИрдорд▓ рдХрддрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдЬреЛ рддреЗрдЬреА рд╕реЗ рдкрд░рд┐рдорд╛рдг рдХрд╛ рдХреНрд░рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЙрди рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдбрд╝рдЪрди рдмрдирдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдЬреЛ рджреГрд╢реНрдп рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдЪрд▓рддреА рд╡рд╕реНрддреБрдПрдВред

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

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


4.0 рдореЗрдВ рд╡рд▓реНрдХрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдкрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛рдПрдВред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХрд╛рдо рдкреНрд░рдЧрддрд┐ рдкрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рд╕рдордп рд╣реИред

рд░реЗрдВрдбрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧред https://github.com/godotengine/godot/blob/vulkan/drivers/vulkan/rendering_device_vulkan.h#L350
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА, рдорд╛рдирдЪрд┐рддреНрд░ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд┐рд░реНрдл рд╣реИрд╢рдкреИрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдХреЗрд╡рд▓ рд╕рд░рдгрд┐рдпреЛрдВ рдпрд╛ рд╕рдорд╛рди рдХреЗ рдмрдЬрд╛рдп рдЕрддрд┐ рдкреНрд░рдпреЛрдЧред
https://github.com/godotengine/godot/blob/vulkan/drivers/vulkan/rendering_device_vulkan.h#L680
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдВрднрд╡рддрдГ рддреЗрдЬрд╝ рд▓реВрдк рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕реВрдЪреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд░реЗрдВрдбрд░ рдПрдкреАрдЖрдИ рдореЗрдВ рдкреВрд▓рд╡реЗрдХреНрдЯрд░ рдФрд░ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред https://github.com/godotengine/godot/blob/vulkan/drivers/vulkan/rendering_device_vulkan.h#L747
рд░реЗрдВрдбрд░ рдПрдкреАрдЖрдИ рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрди 2 рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЙрди 2 рдХреЛ рдЙрдирдХреА рдХрдорд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдЙрди рдорд╛рдорд▓реЛрдВ рдкрд░ рд╕реВрдЪрдХ + рдЖрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЕрднреА рднреА рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рд╡реЗрдХреНрдЯрд░ рд▓реЗрддрд╛ рд╣реИ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред

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

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

рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╕реАрдкреАрдкреАрдХреЙрди рд╕реЗ рд╣реИред https://www.youtube.com/watch?v=fHNmRkzxHWs
рдЕрдиреНрдп рдорд╣рд╛рди рд╡рд╛рд░реНрддрд╛ рдпрд╣ рд╣реИ: https://www.youtube.com/watch?v=-8UZhDjgeZU , рдЬрд╣рд╛рдВ рдпрд╣ рдХреБрдЫ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╕реНрд▓реЙрдЯрдореИрдк рдЬреЛ рдЧреЛрдбреЛрдЯ рдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред

рдЧреЛрдбреЛрдЯ рдХреЗ рдкрд╛рд╕ рдкреНрд░рджрд░реНрд╢рди рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдорд╕реНрдпрд╛ рд╣реИ... рдЖрдк рдЧреЛрдбреЛрдЯ рдЯреАрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛрдВрдЧреЗ, рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ!

рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдпрд╛ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред

@ vblanco20-1 рдлрд┐рд░, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдЕрдЪреНрдЫреЗ рдЗрд░рд╛рджреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрдВрдЬрди рдХреЗ рдХрд┐рд╕реА рднреА рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ рдпрд╛ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреЗ рджрд░реНрд╢рди рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред рдЖрдкрдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡реЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдХрд┐рддрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рдпрд╛ рдЙрдирдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╣реИрдВред

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

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

рдПрдХ рдмрд╛рд░ рдЬрдм рдореИрдВ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдм рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдорд░реЗ рд╣реБрдП рдШреЛрдбрд╝реЗ рдХреЛ рдкреАрдЯ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмрд╕ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╢рд╛рдВрдд рд╣реЛ рдЬрд╛рдПрдВред

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

рдЪреВрдВрдХрд┐ рдХрдИ рддрдХрдиреАрдХреА рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрддреНрд╕реБрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

  • рд╕рднреА рд╕реНрдерд╛рдирд┐рдХ рдЕрдиреБрдХреНрд░рдордг рдХреЛрдб (рдЬрд┐рд╕реЗ vblanco рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ рдХрдИ рдереНрд░реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдЦреАрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд░реЛрдбрд╝рд╛ рдХрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдХреНрдЯреНрд░реА рдФрд░ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдПрдХ SAP рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдСрд▓ рд░рд╛рдЙрдВрдбрд░ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд╣реИ рдЬреЛ рдЕрдЪреНрдЫрд╛ рд╡рд╛рд░рдВрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рдЦреЗрд▓ рдкрд░ рдкреНрд░рджрд░реНрд╢рдиред рдЗрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрди рдирдП RID_Allocator рдХреЗ рд╕рдорд╛рди рд╣реА рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ O(1) рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ @ vblanco20-1 рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдФрд░ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдЙрдирдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдбрд┐рдЧреНрд░реА рдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧреЛрдбреЛрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рд░реЛрдбрд╝рд╛ рдХрд▓рд┐рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ред
  • рдЬрдм рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдБрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪрд┐рдпрд╛рдБ рдЫреЛрдЯреЗ рдЕрд╕реНрдерд╛рдпреА рдЖрд╡рдВрдЯрди рдХрд░рддреА рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдлрд╝реНрд░реИрдЬреЗрдВрдЯреЗрд╢рди рдХрд╛ рд╢реВрдиреНрдп рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдПрдХ рдЦрдВрдбрд┐рдд рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ (рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд, рдЗрд╕рд▓рд┐рдП рд╡реЗ 0 рд╡рд┐рдЦрдВрдбрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ) рдЬреЛ рд╣рдореЗрд╢рд╛ рдмрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА рд╕рд┐рдХреБрдбрд╝рддреЗ рдирд╣реАрдВ рд╣реИрдВ (рдЬреИрд╕реЗ RID_Allocator рдпрд╛ 2D рдЗрдВрдЬрди Vulkan рд╢рд╛рдЦрд╛ рдореЗрдВ рдирдпрд╛ CanvasItem, рдЬреЛ рдЕрдм рдЖрдкрдХреЛ рдЖрдЗрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрд╢рд▓рддрд╛ рд╕реЗ), рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдЧреЛрдбреЛрдЯ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЫреЛрдЯреЗ рдЖрд╡рдВрдЯрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рджреВрд╕рд░реЛрдВ рдХреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ)ред
  • рдкреВрд▓рд╡реЗрдХреНрдЯрд░ рд▓рдЧрд╛рддрд╛рд░ рдореЗрдореЛрд░реА рдкреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдмрдбрд╝реЗ рдЖрд╡рдВрдЯрди рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рдЧреЛрдбреЛрдЯ 2.1 рддрдХ рдпрд╣ рдПрдХ рдкреНрд░реАрдЖрд▓реЛрдХреЗрдЯреЗрдб рдореЗрдореЛрд░реА рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 3.x рдореЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЕрднреА рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЧрд▓рдд рд╣реИред 4.0 рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реИред
  • рдЧреЛрдбреЛрдЯ рдХреЗ рд╡реЗрдХреНрдЯрд░<> рдХреА рддреБрд▓рдирд╛ std::vector рд╕реЗ рдХрд░рдирд╛ рд╡реНрдпрд░реНрде рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВред рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЬреНрдпрд╛рджрд╛рддрд░ рдбреЗрдЯрд╛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ рддреЗрдЬреА рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рдХрд░рддреЗ рд╣реИрдВ (ptr() рдпрд╛ ptrw() рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ)ред рдпрджрд┐ рд╣рдо std::vector рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирдХрд▓ рдХреЗ рдХрд╛рд░рдг рдЧреЛрдбреЛрдЯ рдмрд╣реБрдд рдзреАрдорд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдСрди рд░рд╛рдЗрдЯ рдореИрдХреЗрдирд┐рдХ рдХрд╛ рднреА рднрд░рдкреВрд░ рд▓рд╛рдн рдЙрдард╛рддреЗ рд╣реИрдВред
  • рдорд╛рдирдЪрд┐рддреНрд░<> рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рд░рд▓ рдФрд░ рдорд┐рддреНрд░рд╡рдд рд╣реИ рдФрд░ рд╡рд┐рдЦрдВрдбрди рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдмрдврд╝рдиреЗ/рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдм рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣реИрд╢ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рд╢рд╛рдпрдж OAHashMap рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдирдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдХрднреА рдирд╣реАрдВ рдерд╛)ред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЫреЛрдЯреЗ рдЖрд╡рдВрдЯрди рд╣рдореЗрд╢рд╛ рдмрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдкрд░ рдкрд╕рдВрдж рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдЫреЗрдж рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) , рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрдо рдвреЗрд░ рдЦрдкрддред

рдлрд┐рд░ рд╕реЗ, рдЖрдк рджреБрд╖реНрдЯ рд╣реЛрдиреЗ рдФрд░ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЬрдм рдЪрд╛рд╣реЗрдВ рдпреЛрдЬрдирд╛рдУрдВ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рднреА рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рд▓реЛрдЧ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╕реНрдерд╛рдирд┐рдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рдзреАрдорд╛ рдХреНрдпреЛрдВ рдерд╛ред рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЧреЛрдбреЛрдЯ рдХреЗ рд▓рд┐рдП рдирдП рд╣реЛрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рд╣рд╛рд▓ рддрдХ 3рдбреА рдЗрдВрдЬрди 10 рд╡рд░реНрд╖ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдирд╛ рдФрд░ рдЕрддреНрдпрдВрдд рдкреБрд░рд╛рдирд╛ рдерд╛ред рдУрдкрдирдЬреАрдПрд▓ рдИрдПрд╕ 3.0 рдореЗрдВ рдЗрд╕реЗ рдЖрдзреБрдирд┐рдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдУрдкрдирдЬреАрдПрд▓ рдореЗрдВ рдорд┐рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд▓реНрдХрди (рдФрд░ рдРрдкреНрдкрд▓ рдиреЗ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛) рдХреЗ рд▓рд┐рдП рдмрд╣рд┐рд╖реНрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЬрд▓реНрджреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдареАрдХ рд╕реЗ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд▓рдВрдмреА рдЕрд╡рдзрд┐ рдореЗрдВ рдмреЗрд╣рддрд░ рднреБрдЧрддрд╛рди рдХрд░рддрд╛ рд╣реИред рдЕрднреА рд╕рднреА рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЬрд▓реНрдж рд╣реА рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдЖрдкрдиреЗ рд╡рд▓реНрдХрди рд╢рд╛рдЦрд╛ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рддреЛ 2D рдЗрдВрдЬрди рдкрд╣рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рд╣реИ)ред

рд╣рд╛рдп рд░реЗрдбреБрдЬ,
рдЬрдмрдХрд┐ рдореИрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдЕрдВрдХ рдорд╛рдиреНрдп рд╣реИрдВ, рдореИрдВ рдЙрди рджреЛ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рди рдкрд░ рдореИрдВ рдЕрд╕рд╣рдордд рд╣реВрдВ:

  • рдЬрдм рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддреЛ рдореИрдВ рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪрд┐рдпрд╛рдВ рд╡рд┐рдЦрдВрдбрди рдХреЗ рд╢реВрдиреНрдп рдЬреЛрдЦрд┐рдо рдХреЗ рд╕рд╛рде рдЫреЛрдЯреЗ рдЕрд╕реНрдерд╛рдпреА рдЖрд╡рдВрдЯрди рдХрд░рддреА рд╣реИрдВред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ рдПрдХ рдЦрдВрдбрд┐рдд рд╕рд░рдгреА рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ (рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд, рдЗрд╕рд▓рд┐рдП рд╡реЗ 0 рд╡рд┐рдЦрдВрдбрди рдХрд╛ рдХрд╛рд░рдг рдмрдирддреЗ рд╣реИрдВ) рдЬреЛ рд╣рдореЗрд╢рд╛ рдмрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрднреА рд╕рд┐рдХреБрдбрд╝рддреЗ рдирд╣реАрдВ рд╣реИрдВ (рдЬреИрд╕реЗ RID_Allocator рдпрд╛ 2D рдЗрдВрдЬрди Vulkan рд╢рд╛рдЦрд╛ рдореЗрдВ рдирдпрд╛ CanvasItem, рдЬреЛ рдЕрдм рдЖрдкрдХреЛ рдЖрдЗрдЯрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрд╢рд▓рддрд╛ рд╕реЗ), рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдм рдЧреЛрдбреЛрдЯ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдкрд░ рдЫреЛрдЯреЗ рдЖрд╡рдВрдЯрди рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЬрд╛рддреА рд╣реИ (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рджреВрд╕рд░реЛрдВ рдХреЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ)ред

рдореБрдЭреЗ рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдПрдХ рд▓рд┐рдВрдХреНрдб рд╕реВрдЪреА рдореЗрдВ рдШрд╛рддреАрдп рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд╕рд░рдгреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╕рдордЧреНрд░ рдкреНрд░рджрд░реНрд╢рди рд╣реЛрдЧрд╛, рдЗрд╕реЗ рдЧрддрд┐ рдпрд╛ рд╕реНрдореГрддрд┐ рджрдХреНрд╖рддрд╛ рджреЗрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рд╕реЗ рджреЛрдЧреБрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИ, рдЬрдмрдХрд┐ List<some pointer> рддреАрди рдЧреБрдирд╛ рдЕрдзрд┐рдХ рднрдВрдбрд╛рд░рдг (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд╛рдордЧреНрд░реА, рдЕрдЧрд▓рд╛ рдФрд░ рдкрд┐рдЫрд▓рд╛ рд╕реВрдЪрдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рдЦрдВрдбрд┐рдд рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП, рдЪреАрдЬреЗрдВ рдФрд░ рднреА рдмреЗрд╣рддрд░ рджрд┐рдЦрддреА рд╣реИрдВред

рдЬрдм рдареАрдХ рд╕реЗ рд▓рдкреЗрдЯрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЧреЛрдбреЛрдЯ рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ, рд╡реЗ рд╣реИрдВ), рд╡реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рдорд╛рди рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ "рд╡реЗ [рд╕реВрдЪрд┐рдпрд╛рдВ" рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ ] рдХреЛрдб рдХреЗ рдЗрд░рд╛рджреЗ рдХреЛ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ"ред

IMHO, рд╕реВрдЪрд┐рдпрд╛рдБ рдмрд┐рд▓реНрдХреБрд▓ рджреЛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдорд╛рдиреНрдп рд╣реИрдВ:

  • рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмреАрдЪ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдорд┐рдЯрд╛рдирд╛/рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛
  • рдпрд╛ рдЖрдкрдХреЛ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рдореНрдорд┐рд▓рди/рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░рдВрддрд░-рд╕рдордп (рдФрд░ рди рдХреЗрд╡рд▓ рдирд┐рд░рдВрддрд░-рд╕рдордп рдкрд░рд┐рд╢реЛрдзрд┐рдд) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╛рдиреА, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рд╕реНрдореГрддрд┐ рдХрд╛ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдЖрд╡рдВрдЯрди рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ, рд╡реЗ рдареАрдХ рд╣реИрдВред
  • рдорд╛рдирдЪрд┐рддреНрд░<> рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╕ рд╕рд░рд▓ рдФрд░ рдорд┐рддреНрд░рд╡рдд рд╣реИ рдФрд░ рд╡рд┐рдЦрдВрдбрди рдкреИрджрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЬрд▓реНрджрдмрд╛рдЬреА рдореЗрдВ рдмрдврд╝рдиреЗ/рдЧрд┐рд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЬрдм рдкреНрд░рджрд░реНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣реИрд╢ рдореИрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ, рд╢рд╛рдпрдж OAHashMap рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдирдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдХрднреА рдирд╣реАрдВ рдерд╛)ред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЫреЛрдЯреЗ рдЖрд╡рдВрдЯрди рд╣рдореЗрд╢рд╛ рдмрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдкрд░ рдкрд╕рдВрдж рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдореЗрдореЛрд░реА рдПрд▓реЛрдХреЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдЫреЗрдж рдвреВрдВрдврдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) , рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдХрдо рдвреЗрд░ рдЦрдкрддред

libc-рдЖрд╡рдВрдЯрдХ рдЖрдорддреМрд░ рдкрд░ рдХрд╛рдлреА рд╕реНрдорд╛рд░реНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЪреВрдВрдХрд┐ OAHashMap (рдпрд╛ рдПрдХ std::unordered_map) рд╕рдордп-рд╕рдордп рдкрд░ рдЕрдкрдиреЗ рднрдВрдбрд╛рд░рдг рдХреЛ рдкреБрди: рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкрд░рд┐рд╢реЛрдзрди рдирд┐рд░рдВрддрд░-рд╕рдордп), рдЖрд╡рдВрдЯрдирдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рдЕрдкрдиреЗ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ рдХреЛ рдХреЙрдореНрдкреИрдХреНрдЯ рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред рдореЗрд░рд╛ рджреГрдврд╝ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ OAHashMap рдореИрдк рдЬреИрд╕реЗ рд╕рд╛рджреЗ рдмрд╛рдЗрдирд░реА рдЯреНрд░реА рдореИрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдвреЗрд░ рдХрд╛ рдЙрдкрднреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рд╡рд┐рд╢рд╛рд▓ рдкреЙрдЗрдВрдЯрд░ рдУрд╡рд░рд╣реЗрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ OAHashmap (рдпрд╛ std :: unordered_map) рдХреЗ рдХрд┐рд╕реА рднреА рдвреЗрд░ рд╡рд┐рдЦрдВрдбрди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рддрд╛ рд╣реИред

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

рд▓реЗрдХрд┐рди @reduz , рдЖрдк рдЗрди рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдЬреЛ @ vblanco20-1 рдиреЗ рд╕реБрдЭрд╛рдпрд╛ рдерд╛ (рд╢рд╛рдпрдж рдЕрдм рднреА, 3.1 рдореЗрдВ)ред рдпрджрд┐ @ vblanco20-1 (рдпрд╛ рдХреЛрдИ рдФрд░) рдЗрд╕ рддрд░рд╣ рдХреЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХрд┐рдВрдЧ рд╕реВрдЯ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдЧреЛрдбреЛрдЯ 3.1 рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ (рджреЛрдиреЛрдВ рдЧрддрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдФрд░ "рд╡рд┐рдЦрдВрдбрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдХреЗ рдвреЗрд░ рдЦрдкрдд") vblanco рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл? рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ 4.0 рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореВрд▓реНрдпрд╡рд╛рди рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдкреНрд░рдгрд╛рд▓реА рдЖрдкрдХреЗ "[рдЪреАрдЬреЛрдВ] рдХреЛ рдЬрд▓реНрджреА рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдареАрдХ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ" рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред

@ vblanco20-1: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЗ рдХрд╛рдо рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдк рдРрд╕реЗ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдВрдЧреЗ, рддрд╛рдХрд┐ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдк рд╕рдХреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рд╣реИрдВ? рдореБрдЭреЗ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред

@Windfisch рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдореЗрд░реА рдкреЛрд╕реНрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрдврд╝рд╛ рд╣реИ рдпрд╛ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ред

  • рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛
  • рдореИрдВрдиреЗ рдХрднреА рднреА @vblanco20-1 рдХреЗ рдХрд╛рдо рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрд░реНрдХ рдирд╣реАрдВ рджрд┐рдпрд╛ рдФрд░ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ (рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рдЙрд╕реЗ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)ред рдЙрдирдХреЗ рдХрд╛рдо рдХрд╛ рд╡рд┐рд▓рдп рди рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ 1) рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЦреЗрд▓ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдФрд╕рдд рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрдиреБрдЕрд▓ рдЯреНрд╡рд┐рдХрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЧреЛрдбреЛрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдкрдХреНрд╖ рд▓реЗрддрд╛ рд╣реВрдВ рдЬреЛ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕реБрдзрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рдмреЗрд╣рддрд░ рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред 2) рд╡рд╣ рдЬрд┐рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд░реЛрдбрд╝рд╛ рдорд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ (рд╕рд░рд▓ рдСрдХреНрдЯреНрд░реА рд╢реНрд░реЗрдгреАрдмрджреНрдз рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХрд╛рд░рдг рдмреЗрд╣рддрд░ рд╣реИ)ред 3) рд╡рд╣ рдЬрд┐рд╕ рдПрд▓реНрдЧреЛрд░рд┐рдердо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдпреБрдЧреНрдорди рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ (рдПрд╕рдПрдкреА рдЕрдХреНрд╕рд░ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ)ред 4) рд╡рд╣ рд╕реА ++ 17 рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рдореБрдЭреЗ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд▓реИрдореНрдмреНрдбрд╛ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реИрдВ 5) рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 4.0 рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ 3.x рд╢рд╛рдЦрд╛ рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рд░рддрд╛ рд╣реИ рдФрд░ рд╣рдо 3.2 рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд░рд┐рд▓реАрдЬ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореМрдЬреВрджрд╛ рдХреЛрдб рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реНрдерд┐рд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд░ рдпрд╣ рдорд░реНрдЬ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ, рд░рд┐рдЧреНрд░реЗрд╢рди рдЖрджрд┐ рд╣реЛрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдпрд╛ рд╡рд┐рдХреНрдЯрд░ рдХреА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 4.0 рд╢рд╛рдЦрд╛ рдореЗрдВ рд╡реНрдпрд╕реНрдд рд╣реИрдВред рдпрд╣ рд╕рдм рдКрдкрд░ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдкреЛрд╕реНрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝реЗрдВред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рд╡рд┐рдХреНрдЯрд░ рд╕реЗ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ рдХрд┐ рдЕрдиреБрдХреНрд░рдордг рдХреЛрдб рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдВрддрддрдГ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рднреА рд▓рд╛рдЧреВ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЧреЛрдбреЛрдЯ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИ рдФрд░ рдЙрд╕рдХрд╛ рдХрд╛рдВрдЯрд╛ рднреАред рд╣рдо рд╕рднреА рдЦреБрд▓реЗ рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХреЛрдИ рдирд╣реАрдВ рд░реЛрдХ рд╕рдХрддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рд╡рд╣ рдЕрдиреБрдХреВрд▓рди рдЬреАрдбреАрд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд░реЗрдВрдбрд░ рдпрд╛ "рд╣рдХрд▓рд╛рдирд╛" рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдРрд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд▓реЛрдЧ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВ (рдореБрдЭреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ), рд╢рд╛рдпрдж рдЗрд╕ рдмрд╛рдд рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐ рдЕрдиреБрдХреВрд▓рди рд▓реЛрдЧ рдЦреБрд╢ рд╣реЛрдВрдЧреЗ (рдореБрдЭреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ) ... рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рд▓реБрдЖ рдЬрд┐рдд рд╡реЗрдЧ ...
"рдХреЙрдкреА рдСрди рд░рд╛рдЗрдЯ" рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдореЗрд░рд╛ рдПрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдерд╛ (рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рд░реНрд╕ рдореЗрдВ 25 рд╕реЗрдХрдВрдб рд╕реЗ 7000 рд▓рд╛рдЗрдиреЛрдВ рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ 1 рд╕реЗрдХрдВрдб рддрдХ) ... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдиреБрдХреВрд▓рди рд╣реИрдВ рдХрд┐ рд╣рдо рдЬрд░реВрд░рдд рд╣реИ, gdscript рдореЗрдВ, рд╣рдХрд▓рд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдФрд░ рдкреВрд░рд╛ рдХрд░рдиреЗ рдореЗрдВ... рдмрд╕ рдЗрддрдирд╛ рд╣реАред

рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж @reduz ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рдмрд╛рддреЛрдВ рдХреЛ рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯрд┐рдВрдЧ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ рд╕реНрдерд╛рдирд┐рдХ рдЕрдиреБрдХреНрд░рдордг рдХреЛрдб рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рдмрд╣реБрдд рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреИрдорд╛рдиреЛрдВ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдореЗрд░реЗ рдкреИрд░реЛрдВ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛ рдерд╛ред 4.0 рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реИрдВред

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

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

рд╢реЗрд╖ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЛрдб (рд░реЗрдВрдбрд░рд┐рдВрдЧрдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рдкрд╛рджрди) рдХрдореЛрдмреЗрд╢ рд╕реАрдзрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдордг рдПрдХ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

@reduz рд╕реНрдерд╛рдирд┐рдХ рдЕрдиреБрдХреНрд░рдордг рдкрд░ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдПред рдореВрд▓ рдЯрд╛рдЗрд▓ рдЖрдзрд╛рд░рд┐рдд рдХрд▓рд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рдЧрднрдЧ рдЖрдзреЗ рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдПрдХ рдСрдХреНрдЯреНрд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореБрдЭреЗ рдЬреЛ рдСрдХреНрдЯреНрд░реА рдорд┐рд▓рд╛ рд╣реИ рд╡рд╣ рдбрдмреНрд▓реНрдпреВрдЖрдИрдкреА рд╣реИ (рдХреБрдЫ рд░реА-рдлрд┐рдЯ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЧрд╛рдпрдм рд╣реИ), рд▓реЗрдХрд┐рди рдкрд░рд┐рдгрд╛рдо рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХреЛрдб рдЗрд╕рдХреА рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рдХреГрддрд┐ рд╕реЗ рдЙрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдСрдХреНрдЯреНрд░реА рдПрдХ рдЬрдЯрд┐рд▓ рджреГрд╢реНрдп рдЬреИрд╕реЗ рдХрд┐ tps-demo рдореЗрдВ рдХреИрд╕рд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред
рдпрд╣ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИ рдХрд┐ рдЕрд╕рддреНрдп рдЗрдВрдЬрди рдСрдХреНрдЯреНрд░реА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдлреНрд▓реИрдЯ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ред

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

рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ, рд╣рдо рдиреЛрдбреНрд╕ рдкрд░ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдСрдХреНрдЯреНрд░реА рдЕрдВрдд рдореЗрдВ рдмрд╣реБрдд рдЧрд╣рд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдПрдХ рдФрд░ рдЕрдЪреНрдЫреА рдмрд╛рдд рдЬреЛ рдореИрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рд▓реАрдл рдиреЛрдбреНрд╕ рдХреЛ рдПрдХ рдлреНрд▓реИрдЯ рдРрд░реЗ рдореЗрдВ рднреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рдорд╛рдирд╛рдВрддрд░-рдХреЗ рд▓рд┐рдП рдХреВрд▓рд┐рдВрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣, рдмрд┐рдВрджреБ рдЫрд╛рдпрд╛, рдпрд╛ рдЕрдиреНрдп "рдЫреЛрдЯреЗ" рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП cull рдХрд░рддреЗ рд╕рдордп рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдореБрдЦреНрдп рджреГрд╢реНрдп рдХреЗ рд▓рд┐рдП рдлреНрд▓реИрдЯ рд╕рдорд╛рдирд╛рдВрддрд░-рдХреБрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ рд╕рдм рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдкрджрд╛рдиреБрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

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


рд░реЗрдВрдбрд░ рдПрдкреАрдЖрдИ рдкрд░ рд╡реЗрдХреНрдЯрд░ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдЪрд┐рдВрддрд╛рдУрдВ рдкрд░, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ред https://github.com/godotengine/godot/issues/24731


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


рд▓реИрдореНрдмреНрдбрд╛ рдкрд░, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреБрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЪреЗрдХ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рд╕рд░рдгреА рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рдХрд▓реНрдк рдЗрдЯрд░реЗрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд░рдирд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдЕрд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдВрдЬрди рдЙрдирдХреЗ рдСрдХреНрдЯреНрд░реА рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдЦрд░рд╛рдм рдХреЛрдб рдФрд░ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдард┐рди рд╣реЛрддрд╛ рд╣реИред


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

@ vblanco20-1 рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдСрдХреНрдЯреНрд░реА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдореИрдВ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрддрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ (рдмрд╛рд╣рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реА ++ 11 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдПрдВ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╡рд▓реНрдХрди рд╢рд╛рдЦрд╛ рдкрд░ рд╣реЛрдЧрд╛)ред рдпрджрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╡рд▓реНрдХрди рд╢рд╛рдЦрд╛ рдореЗрдВ рдЗрдВрдбреЗрдХреНрд╕рд░ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдореИрдВ рд╡рд╣рд╛рдВ рдЕрдзрд┐рдХрддрд░ рд╕рд╛рдорд╛рди рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рд╡реИрд╕реЗ рднреА ) рдмреЗрд╢рдХ рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╢рд╛рдпрдж рдЬрдм рдирдП рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдФрд░ рдЪреАрдЬреЗрдВ рд╣реЛрдВ), рддреЛ рдпрд╣ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИред

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

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

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

рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд░реВрд░рдд рдХрд┐рд╕реЗ рд╣реИ? :рдЯреНрд░реЙрд▓ рдлрд╝реЗрд╕:

рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдФрд░ рд╕реЛрд░реНрд╕ рдореЙрдбрд▓ рд╣реА рдореБрдЭреЗ рдЧреЛрдбреЛрдЯ рд╕реЗ рдЬреЛрдбрд╝реЗ рд░рдЦрддрд╛ рд╣реИред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд╢рд╛рдпрдж рдореИрдВ рдХреБрдЫ рдСрдлрдЯреЙрдкрд┐рдХ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореИрдВ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

@mixedCase рдореБрдЭреЗ рдЧреЛрдбреЛрдЯ рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рдВрдЯреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рдж рд╕рдВрдХреЛрдЪ рд╣реЛрдЧрд╛ред рдлреЛрд░реНрдХрд┐рдВрдЧ рдФрд░ рд╡рд┐рдЦрдВрдбрди рдЕрдХреНрд╕рд░ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдореМрдд рд╣реИред

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

рд╡реИрд╕реЗ рднреА рдореВрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд┐рд░реНрдл рдХрд╛рдВрдЯрд╛ рд╕реЗ рд╕реБрдзрд╛рд░ рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВред рдпрд╣ рдУрдкрди рд╕реЛрд░реНрд╕ рд╡рд░реНрд▓реНрдб рдХреА рдПрдХ рдФрд░ рдкреНрд░рдХреГрддрд┐ рд╣реИред

рдФрд░ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдХрд╛рдВрдЯрд╛ рдореВрд▓ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдФрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд╡рд╣рд╛рдВ рдЬрд╛рдПрдВрдЧреЗред рдХреЛрдИ рдирд╣реАрдВ рд╣рд╛рд░рд╛, рд╕рдм рдЬреАрдд рдЧрдПред рдУрд╣, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдпрджрд┐ рдХреЛрдИ рдХрдВрдкрдиреА рдореВрд▓ рдХреЗ рдкреАрдЫреЗ рд╣реИ рддреЛ рд╢рд╛рдпрдж рд╡реЗ рд╣рд╛рд░ рдЧрдП (рдпрд╛ рд╡реЗ рдХрд╛рдВрдЯреЗ рд╕реЗ рднреА рд╕реБрдзрд╛рд░ рдХреЛ рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред

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

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

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

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

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

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

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