![]() |
|
||||||||||
|
|||||
|
[+4 16.07.08]
Регистрация: Jul 2008
Адрес: Gamburg
Сообщений: 108
|
Здравствуйте. Подскажите как можно увеличить производительность рендера. У меня вывод на экран построен так:
public function render_Quad(ref_quad:V_Quad):void{ if (ref_quad!=null){ vertices[0]= ref_quad.x1;vertices[1]= ref_quad.y1 vertices[2]= ref_quad.x2;vertices[3]= ref_quad.y2 vertices[4]= ref_quad.x3;vertices[5]= ref_quad.y3 vertices[6]= ref_quad.x4;vertices[7]= ref_quad.y4 tex_coords[0]=ref_quad.tx1;tex_coords[1]=ref_quad.ty1 tex_coords[2]=ref_quad.tx2;tex_coords[3]=ref_quad.ty2 tex_coords[4]=ref_quad.tx3;tex_coords[5]=ref_quad.ty3 tex_coords[6]=ref_quad.tx4;tex_coords[7]=ref_quad.ty4 draw_display.graphics.beginBitmapFill(ref_quad.tex) draw_display.graphics.drawTriangles(vertices,indices,tex_coords) draw_display.graphics.endFill() } } public function render_beginScene(color:uint):void{ draw_display.graphics.clear() draw_display.graphics.beginFill(color) draw_display.graphics.drawRect(0,0,d_w,d_h) draw_display.graphics.endFill() } public function render_endScene():void{ if (!display2.visible){ display2.visible=true display.visible=false; draw_display=display }else{ display.visible=true display2.visible=false; draw_display=display2 } } ![]() Последний раз редактировалось Venya2007; 24.08.2009 в 12:33. |
|
|||||
|
Modus ponens
|
1. вы не очищаете graphics когда рисуете треугольники.
2. от того, что вы будете писать код слитно и все в одну строчку, работать он быстрее точно не станет ![]() 3. возможно, что drawTriangles не самый быстрый метод, возможно проблема вообще в другом месте. Ну и кроме того - сравнение с null в AS3 имеет смысл только для переменных с типом * - для всего остального нужно просто использовать if (myVar)
__________________
Hell is the possibility of sanity |
|
|||||
|
[+4 16.07.08]
Регистрация: Jul 2008
Адрес: Gamburg
Сообщений: 108
|
wvxvw спасибо за ответ.
1. вы не очищаете graphics когда рисуете треугольники. render_Quad вызывается между render_beginScene и render_endScene 2. от того, что вы будете писать код слитно и все в одну строчку, работать он быстрее точно не станет где вы видели все в одну строчку ![]() 3. возможно, что drawTriangles не самый быстрый метод, возможно проблема вообще в другом месте. каким способом можно быстрее нарисовать? Ну и кроме того - сравнение с null в AS3 имеет смысл только для переменных с типом * - для всего остального нужно просто использовать if (myVar) спасибо за совет |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:10. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|