PDA

Просмотр полной версии : Скорость исполнения мува.


vladperertz
16.03.2006, 20:01
Пол года ваял полезную прогу (сфера обучения), типа симулятора работы пневмоустройства в реж. реал. времени. Столкнулся с неприятностью - на быстром компе идет быстрее, на медленном медленнее. Где че посмотреть по привязке скорости исполнения мувика от тактовой частоты компа. Спасиба.

Homo Sapiens
16.03.2006, 20:02
Оптимизировать код :)

Homo Sapiens
16.03.2006, 20:03
И графику :)

Fl00r
16.03.2006, 20:09
Отслеживать FPS и от этого плясать в крайнем случае

Samodelkin
16.03.2006, 20:14
По мне так лучше вообще отвязать от FPS, наделать таймеров, таймаутов
всяких...и усложнить все до безобразия...

__i
16.03.2006, 20:28
В принципе нету смысла отслеживать фпс, если тебе нужно чтобы что то делалось за конкретный промежуток времени, но не сильно маленький (больше 50 мс). то опиши зависимость твоей сиситемы от времени (т.е. изменение который с не произойдут за какаето время dT). теперь вешай на onEnterFrame, функцию типа

mc.stTime = new Date().getTime() // получаешь время в мс.
mc.onEnterFrame = function(){
var now = new Date().getTime();
var dT = now - this.stTime; // - получил время в мс которое прошло с прошлого изменения системы.
this.stTime = now;
function_for_change_system(dT);//функция которая меняет состояния системы
}

vladperertz
16.03.2006, 21:08
Резонно. Но в некоторых прогах кроме флеша замечал подтормаживание (замораживание динамики) а затем скачек на исходую с некоторым пропуском материала но реалом во времени.
Падаю на колени перед флешем, - нового ничего не исвоил, но мне кажется он карав для более мене серьезных вешей с включением большого числа переменных функций и т.д. - тока все и более для WEBa.

inspace
16.03.2006, 21:38
Да нужно либо оптимизировать. Либо писать на Java. Java applets для инета подходят.

Homo Sapiens
16.03.2006, 22:01
Либо писать на Java. Java applets для инета подходят.
Если человек пол года писал на Flash, переводить в Java? Извращение. Кроме того, Java сама по себе довольно тормозная, и писать на ней программу для визуализации сложнее, чем на Flash.

aksios
16.03.2006, 22:38
Все очень просто: хош контролировать время, юзай setInterval() - все остальное от лукавого!

inspace
16.03.2006, 23:10
Вообще-то Java - язык высокго уровня. Поэтому он не может быть тормознее Flasha =) С визуализацией согласен. А вообще согласен с aksyos

Antares
17.03.2006, 00:21
Вообще-то Java - язык высокго уровня. Поэтому он не может быть тормознее Flasha =)
Вообще-то ActionScript -- тоже язык высокого уровня. И тоже интерпретируемый. Поэтому логики в рассуждениях не вижу.

inspace
17.03.2006, 03:10
Поправлюсь: Java код компилируется. Потом уж java машина обрабатывает байт код. Посему быстрее чем Flash =)

Antares
17.03.2006, 03:23
ActionScript код компилируется. Потому уже AVM его исполняет. Поэтому абсолютно одно и то же.

inspace
17.03.2006, 03:49
Разве Flash компилирует as в байт код?

Antares
17.03.2006, 04:07
А во что он его компилирует? AVM такая же виртуальная машина (интерпретатор), как и JVM -- "наречия" у них разные и все.

inspace
17.03.2006, 04:32
Ага... понятно... Я вот писал прогу интерактивную на java. Она там считала 1000 значений и строила графики различные.(Двигаешь скрол и график ползет) Всё без тормозов работало... Потом на flash делал, тормозила... те дело в специфике языков. правильно понимаю?

Samodelkin
17.03.2006, 12:01
Ага... понятно... Я вот писал прогу интерактивную на java. Она там считала 1000 значений и строила графики различные.(Двигаешь скрол и график ползет) Всё без тормозов работало... Потом на flash делал, тормозила... те дело в специфике языков. правильно понимаю?
Нет тут уже в оптимизации :-) тормозную прогу можно на чем угодно написать даже на ASM-е, хотя с массивами Flash долго возится...