Есть у меня ргб массив размером 38720. Я его в методе паинт заполняю и рисую-фпс-83-86. Если только заполняю, то фпс-102-104. только рисую фпс-102-103. Вот не пойму почему по-отдельности они фпс почти не жрут, а вместе аж 15. И причем, это сильно зависит от того, сколько раз я рисую в массив(например фон и треугольник большой или маленький).
DDDEN!SSS, seclub.org/forum/goto/8143462/ - вряд ли, думаю, что при грамотной реализации занимает примерно столько же, сколько и маленький. Но ручаться не буду, лучше в мониторе памяти посмотри сам. seclub.org/forum/goto/8143823/ - а исходник не найдется? Странности какие-то...
Malcolm, вот upwap.ru/465852 исходники. Бесит, то, что чем больше рисуеш в массив тем меньше фпс. А так бы можно было много полигонов рисовать :-(. Надеюсь это можно исправить apetrus писал, что, если мешать 2д и 3д, то фпс сильно падает из-за какого-то переключения. Может это тоже такая фигня. В gameCanvas фпс еще ниже.
DDDEN!SSS, зря ты, мне кажется repaint всунул в метод run. Уж лучше пусть в методе paint(Graphics g) будет. Просто может случится так, что на отрисовалось еще то, а ты уже по новой прорисовку вызываешь. Поставь в метод paint и посмотри лучше или хуже станет? И тогда можешь тред убрать свой.
DDDEN!SSS, я посмотрел, а на фига тебе вообще в массиве что-то изменять в процессе отрисовки? В методе run() и изменяй, а paint() предназначен для того, чтобы выполнять операции непосредственно с Graphics.
Malcolm, а её можно как-то обойти? В разных потоках это делать? Или может в одном тике заполнить массив, а в другом рисовать. Про эту особенность можно где-то узнать?
DDDEN!SSS, ну это уж можно выяснить только экспериментальнно. А насчет особенностей, то тут даже сами разработчики конкретной реализации могут не все знать. Может быть, баг какой-то, и такое бывает.
22 июн 2009 в 22:52