рдмреЙрдореНрдмрд░рдореИрди рдСрдирд▓рд╛рдЗрди рдФрд░ рд╣рдмреНрд░реЗрдлреЗрдХреНрдЯ - рдПрдХ рдирдХреНрд╢реЗ рдкрд░ 450 рдЦрд┐рд▓рд╛рдбрд╝реАред рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдЧреЗрдо рдЗрдВрдЬрди рд╡рд┐рд╡рд░рдг



рдЬреИрд╕рд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдХреА рд╡рд┐рд╖рдп-рдШреЛрд╖рдгрд╛ рдореЗрдВ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рд░рд┐рдкреЛрд░реНрдЯ рдХреЛ рдЧреЗрдо рдЗрдВрдЬрди рдХреЗ рд╡рд┐рд╡рд░рдг рдФрд░ рд╡рд┐рд╡рд░рдг рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВред


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


3 рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЖрдВрдХрдбрд╝реЗ


рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдиреЗ рдкрдВрдЬреАрдХреГрдд: 4,663
рд░рд╛рдЙрдВрдб рдЦреЗрд▓рд╛: 2,252
рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдореЗрд╣рдорд╛рдиреЛрдВ рд╕рд╣рд┐рдд): 13,402
рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛: 469,534
рдореМрддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛: 545,957
рдЧреЛрд▓ рдХрд┐рдП рдЧрдП: 1,707 ( рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл ?)

[рд╣реИрдмреНрд░реЗрдлреЗрдХреНрдЯ рдХреЗ рджреМрд░рд╛рди]
рдЦрд┐рд▓рд╛рдбрд╝реА рдСрдирд▓рд╛рдЗрди (рдЕрдзрд┐рдХрддрдо): 453
CPU рдЙрдкрдпреЛрдЧ (рдореБрдирд┐рди рдХреЗ рд╢реЗрдбреНрдпреВрд▓ рдХреЗ рдЕрдиреБрд╕рд╛рд░): 168% (16 рдХреЛрд░ - 1600%)
рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ: 1.65 рдЬреАрдмреА
рдпрд╛рддрд╛рдпрд╛рдд (рдЕрдзрд┐рдХрддрдо): рдирд┐рд╡рд░реНрддрдорд╛рди 24 рдПрдордмреАрдкреАрдПрд╕ | рдЖрдиреЗ рд╡рд╛рд▓реЗ 9 рдПрдордмреАрдкреАрдПрд╕

(рдЪрд╛рд░реНрдЯ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ)
[рдЗрдВрдЬрди] рдХрдиреЗрдХреНрд╢рди [ рез ]

[рдЗрдВрдЬрди] рдореБрдЦреНрдп рдЪрдХреНрд░ рд╕рдордп [ реи ]

[рдЗрдВрдЬрди] рдкреНрд░рддрд┐ рдмрд╛рдЗрдЯреНрд╕ [ рей ]

[рд╕рд░реНрд╡рд░] рд╕реАрдкреАрдпреВ рдЙрдкрдпреЛрдЧ

[рд╕рд░реНрд╡рд░] рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ


TTH


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

1. рдЬрд╛рд╡рд╛ рдФрд░ рдЬреЗрдЯреНрдЯреА рдЧреЗрдо рдЗрдВрдЬрди
2. HAProxy - рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЛ рд╕рдореАрдк рдХрд░рдирд╛
3. рдирдЧреНрдиреЗрдХреНрд╕ - рд╕реНрдЯреИрдЯрд┐рдХреНрд╕ рдФрд░ рдПрдХ рдиреЛрдб рдХреЗ рдирд┐рдХрдЯ
4. рд╡реЗрдм рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ - Node.js (рдкреИрдХреЗрдЬ: рдПрдХреНрд╕рдкреНрд░реЗрд╕, mysql, рдЕрдиреБрд░реЛрдз, рдиреЛрдбрдореИрд▓рд░, рд╕рддреНрдпрд╛рдкрдирдХрд░реНрддрд╛, рдкрд▓, рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП)
5. рдХреНрд▓реЗрдпрд░рд╕рд╛рдЗрдб - рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ GWT рдкреНрд░рд╕рд╛рд░рдг


рдЦреЗрд▓ рдЗрдВрдЬрди рд╡рд┐рд╡рд░рдг


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

рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ www.html5rocks.com/en/tutorials/canvas/performance рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВ

рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдХреИрдирд╡рд╕ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдореВрд▓ рдмрд╛рддреЗрдВ


рд╢рдмреНрджрд╛рд╡рд▓реА: рдЯрд╛рдЗрд▓ - рдПрдХ рдЫреЛрдЯрд╛ рд╡рд░реНрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 32 ├Ч 32; рдЪрдВрдХ - 8 ├Ч 8 рдЯрд╛рдЗрд▓реНрд╕ред

рдЯрд╛рдЗрд▓ рдЗрдВрдЬрди рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╣рд╛рдБ рдореИрдВ рдЖрдпрд╛ рдореЙрдбрд▓ рд╣реИ:

1) рдЯрд╛рдЗрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рд╕рдмрдкрд┐рдХреНрд╕рд▓ рдбреНрд░рд╛рдЗрдВрдЧ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред

2) рдХрдИ рдкрд╛рд░рджрд░реНрд╢реА рдХреИрдирд╡рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдКрдкрд░ рд╕реНрдерд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЗрд▓рд╛рдХреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдХреЛрдИ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдирд╣реАрдВ рдереА, рддреЛ рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдереЛрдбрд╝реА рд╡реГрджреНрдзрд┐ (рдХреИрд╢ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ) рджреЗрддрд╛ рд╣реИред

3) рдЦреЗрд▓ рдореЙрдбрд▓ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреВрд░реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ 8 ├Ч 8 рд╡рд┐рдЦрдВрдбреВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЪреВрдВрдХрд┐ 32 ├Ч 32 рдХреЗ рд▓рд┐рдП 64 рдбреНрд░реЙрдЗрдореЗрдЬ рдХреЙрд▓ 256 ├Ч 256 рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рдВрдЧреЗ рд╣реИрдВ, рджреГрд╢реНрдпрдорд╛рди рд╡рд┐рдЦрдВрдбреВ рдХреИрд╢ рдореЗрдВ рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рджреЛ рдкрд░рддреЗрдВ рд╣реЛрддреА рд╣реИрдВ: рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдиреАрдЪреЗ рдФрд░ рдЙрд╕рдХреЗ рдКрдкрд░ред

4) рдХреИрд╢ рд╕рд╛рд╣рдЪрд░реНрдп рд╣реИ, рдЕрд░реНрдерд╛рдд, рдХреИрдирд╡рд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░ рдХрдИ рд╡рд┐рдЦрдВрдбреВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (X, Y) рдХреЗ рд╕рд╛рде рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (X mod A, Y mod B) рдЬрд╣рд╛рдВ (A, B) рдХреИрд╢ рдЖрдХрд╛рд░ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдХреИрд╢ рдЖрдХрд╛рд░ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рдПрдХ рдЖрдо рдХреИрд╢ рдХреЗ рд╕рд╛рде рджреЛ рдЯреБрдХрдбрд╝реЗ рджрд┐рдЦрд╛рдИ рди рджреЗрдВ, рдПрдХ рджреМрдбрд╝ рд╣реЛрдЧреАред

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

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

7) рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдЧрдВрджреЗ рдпрд╛ рдирдП рдЪрдВрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдмрдлрд░ 10 ├Ч 10 рддрд╛рд▓рд┐рдХрд╛ - рдЪрдВрдХ рдФрд░ рдЖрд╕рдкрд╛рд╕ рдХреА рдЯрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдмрдлрд░ рд╕реЗ рдЯрд╛рдЗрд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ - рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 8 ├Ч 8 рд╣реИред рдЯрд╛рдЗрд▓ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЗрд╕ рдЯрд╛рдЗрд▓ рдкрд░ рдкрдбрд╝рдиреЗ рд╡рд╛рд▓реА рдЫрд╛рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднреА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рдЬрд╣рд╛рдВ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рд╕реЗ рдЯрд╛рдЗрд▓ рдирдВрдмрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рд▓рд╛рд▓ рд╣реЛрдирд╛ рд╣реЛрддрд╛ рд╣реИред

8) рдЯрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдбреНрд░реЙрдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд░реИрдЯрдирдЯрд░реНрди рдФрд░ рдлрд┐рд▓рд░рдХреНрдЯ рдмрдирд╛рдПрдБред fillRect рднреА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдХрд┐ рд╡реЗ рдХрдИ рд╕рдорд╛рди рд▓рдЧрд╛рддрд╛рд░ рдЯрд╛рдЗрд▓ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рддреЗрдЬреА рд╕реЗ рд╣реЛрдЧрд╛ред
рдЗрд╕ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдПрдХ рдЕрдЬреАрдм рдкреНрд░рднрд╛рд╡ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ: 32 ├Ч 32 рдмрдирд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП iPad рдкрд░ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ 2.5 рдЧреБрдирд╛ рдХреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ:
jsperf.com/canvas-texture-draw-vs-fill
TheShock рджреНрд╡рд╛рд░рд╛ рдЯрд┐рдкреНрдкрдгреА

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

рд╣рд░реЗ, рдкреАрд▓реЗ, рдЫрд╛рдпрд╛ - рдкрд╣рд▓реА рдкрд░рдд рдкрд░ рдЦреАрдВрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ 32 ├Ч 32 рд╡рд░реНрдЧ рдХреЛ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЯрд╛рдЗрд▓ рдирдВрдмрд░ рдореЗрдВ рд╕рдмреНрд╕рдЯреНрд░реЗрдЯ, рджреАрд╡рд╛рд░ рдФрд░ рдЫрд╛рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред
рджреВрд╕рд░реА рдкрд░рдд рд▓рд╛рд▓ рд░рдВрдЧ рдореЗрдВ рдЦреАрдВрдЪреА рдЧрдИ рд╣реИ, рдЗрд╕реЗ 8 рдкрд┐рдХреНрд╕реЗрд▓ рдКрдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред




рдХреАрдбрд╝реЗ рдорд┐рд▓реЗ


рдЗрд╕рд▓рд┐рдП, рд╕рд╛рдореВрд╣рд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛:

1) рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдмрдбрд╝реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкрд░, рдЯрд╛рдЗрд▓ рдХреИрд╢ рдЕрдЪрд╛рдирдХ рдмрдВрдж рд╣реЛ рдЧрдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЬрдВрдЧрд▓реА рдмреНрд░реЗрдХ рд▓рдЧреЗ рдЬреЛ рдХреЗрд╡рд▓ рдХреНрд░реЛрдо рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рдереЗред рдпрд╣ рд╕рднреА рдЖрд╡рдзрд┐рдХ рдирдХреНрд╢реЗ рдХрд╛ рдорд╛рдорд▓рд╛ рдерд╛: рдирдХреНрд╢реЗ рдХреЗ рдЖрдХрд╛рд░ (рдбрдмреНрд▓реНрдпреВ, рдПрдЪ) рдХреЛ рдХреИрд╢ (рдП, рдмреА) рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред



W, H = 7 A, B = 3, рдХреЙрд░реНрдирд░ рдЪрдВрдХреНрд╕ рдПрдХ рдХреИрд╢реЗ рдкреЛрдЬреАрд╢рди рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рд╡реЗ рдПрдХ рд╕реНрдХреНрд░реАрди рдкрд░ рдЖрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд░реЗрд╕ рд╣реЛрддреА рд╣реИред рдХрд╛рд░реНрдб рдХреЗ "рд╕реАрдо" рдореЗрдВ рднреА рдпрд╣реА рд╕реНрдерд┐рддрд┐ рджреЗрдЦреА рдЬрд╛рддреА рд╣реИред

2) рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдлрд╛рдЗрд▓рд┐рдВрдЧ рдиреЗ рдЬрд╛рд╡рд╛ рдХрд▓реЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдореЗрдВ рдЕрдбрд╝рдЪрдиреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ред рдЗрди рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ, рд╕рдВрдЧреНрд░рд╣ рдХреЛ рд╕реНрд╡-рд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

3) рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ utf8 рд╕реЗ рдмрд╛рдЗрдирд░реА рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдореЗрдВ рдЙрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛, рдЬрд╣рд╛рдВ рд╡реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ (рдХреНрд░реЛрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕) рдиреЗ рдФрд╕рдд рдХреНрд▓рд╛рдЗрдВрдЯ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ 12 Kbps рддрдХ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИред рдПрдХ рджреЗрд╢реА ArrayBuffer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдореИрдВ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ DataView рд╡рд░реНрдЧ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рд╛рдорд╛рдиреНрдп Uint8Array рдХреЗ рдЖрд╕рдкрд╛рд╕ рдорд┐рд▓рддреЗ рд╣реИрдВред


рдЖрд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░реЗрдЦрд╛рдВрдХрди:


[1] рдХрдиреЗрдХреНрд╢рди - рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдВрдЦреНрдпрд╛ред

[реи] рдореБрдЦреНрдп рдЪрдХреНрд░ рд╕рдордп - рдореБрдЦреНрдп рдЪрдХреНрд░ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдХреЛ рдХрд┐рддрдирд╛ рд▓реЗрддреЗ рд╣реИрдВред рдЯрд┐рдХ 100ms рддрдХ рд░рд╣рддрд╛ рд╣реИ, рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ - рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рд╕реЗ рдХрдорд╛рдВрдб рдЪреЗрдХ рдХрд░рдирд╛, рдЯрд┐рдХ - рдЧреЗрдо рд╕реНрдЯреЗрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛, рдСрдмреНрдЬрд░реНрд╡рд░ - рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдореИрд╕реЗрдЬ рдЬреЗрдирд░реЗрдЯ рдХрд░рдирд╛ред рдХреБрд▓ - рд╕рднреА рдПрдХ рд╕рд╛рде, рдФрд░ рдкреНрд▓рд╕ рдЙрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдЬрдм рд╕рдВрджреЗрд╢ рдиреЗрдЯрд╡рд░реНрдХ рдмрдлрд░ рдкрд░ рдЬрд╛рдПрдВрдЧреЗред рдпрд╣ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рднреАрддрд░ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдореЗрдВ рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЬрдм рдХреБрд▓ 1000 рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ - рд╕рд░реНрд╡рд░ рдЦрд░рд╛рдм рд╣реЛрддрд╛ рд╣реИ, рдУрд╡рд░рд╣реЗрдб рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддрд╛ рд╣реИред

[рей] рдкреНрд░рддрд┐ рдмрд╛рдЗрдЯреНрд╕ - рдмрд╛рдЗрдЯреНрд╕ / рд╕реЗрдХ рдореЗрдВ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдлреНрд░реЗрдо рдХреЗ рд╣реЗрдбрд░ рдХреЗ рдмрд┐рдирд╛, рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреЛ рднреЗрдЬрд╛ рдЧрдпрд╛ рд╢реБрджреНрдз рдЯреНрд░реИрдлрд┐рдХред


рдЧреЗрдордкреНрд▓реЗ рдореЗрдВ рдмрджрд▓рд╛рд╡


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

рд▓реЗрдХрд┐рди рдЧреЗрдордкреНрд▓реЗ рдкрд░ рдереЛрдбрд╝рд╛ рд╕рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛: рджреБрд╢реНрдорди рдХреЛ рд▓реЙрдХ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЧреЗрдВрдж рдФрд░ рдЧреЗрдЯ рдХреЛ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ! рдЬреЛ рд╕реНрдХреЛрд░ рдХрд░рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдЬреАрд╡рди рдХреА рдврд╛рд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлреБрд░реНрддреАрд▓реЗ 3 рдврд╛рд▓ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдкрд░рд╣реАрд░реЛ рдХреА рддрд░рд╣ рджреМрдбрд╝рддреЗ рд╣реИрдВ :)



рдирдпрд╛ рд▓реЛрдб рд╣реИрдмреНрд░реЗрд╢рди рдкрд░реАрдХреНрд╖рдгред рд▓рдХреНрд╖реНрдп - рдПрдХ рдирдХреНрд╢реЗ рдкрд░ 1000 рдЦрд┐рд▓рд╛рдбрд╝реА рдСрдирд▓рд╛рдЗрди


рдкрд╣рд▓реА рдмрд╛рд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рдмрд┐рдирд╛ рд╕рд░реНрд╡рд░ рдиреЗ 350 рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рдСрдирд▓рд╛рдЗрди рд░рдЦрд╛ред рдЖрдЬ рд╡рд╣ 1000 рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред

рд╣рдо 8 рд╕реЗ 9 рдФрд░ 10 рдЬреВрди рдХреЛ рд╕рднреА рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ , 17 рд╕реЗ 22 рддрдХ рдСрдирд▓рд╛рдЗрди рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдПрдХ рдирдП рд╕реНрддрд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд╕рдореНрдорд┐рд▓рд┐рдд рд╣реЛрдВ , рдорд┐рддреНрд░реЛрдВ / рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдПрдВ - рд╣рдо рдЖрдкрдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ!
(рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдбреЛрдореЗрди рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рд╕реАрдзреЗ рдЬрд╛рдПрдВ: 141.101.245.117 - рдЗрд╕ рдХрджрдо рдХреЗ рдмрд╛рдж рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рд╣реИрдВ)

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

рдФрд░ рдлреЛрд░реНрд╕ рдПрдВрдб рдлреИрди рдЖрдкрдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In145505/


All Articles