прочитай первый пост (WARININGS) и отредактируй ~/.samstyle/samulator/samulator.conf на предмет current = и memory = в секции [MACHINE].
прочитай первый пост (WARININGS) и отредактируй ~/.samstyle/samulator/samulator.conf на предмет current = и memory = в секции [MACHINE].
Последний раз редактировалось SAM style; 11.02.2010 в 21:32.
Все любят гипножабу
gprof мне рассказал то, что я и так знаю:
valgrind много ругался, послал меня куда подальшеКод:% cumulative self self total time seconds seconds calls ms/call ms/call name 23.84 2.42 2.42 99348523 0.00 0.00 Video::tick() 23.45 4.80 2.38 99348523 0.00 0.00 AYProc::tick() 14.38 6.26 1.46 99348523 0.00 0.00 Floppy::tick() 11.43 7.42 1.16 99348523 0.00 0.00 VG93::tick() 8.67 8.30 0.88 12685462 0.00 0.00 Z80::ticks(unsigned char) 6.60 8.97 0.67 99348523 0.00 0.00 Sound::tick() 5.02 9.48 0.51 9142806 0.00 0.00 Z80::exec() 1.87 9.67 0.19 49674261 0.00 0.00 Tape::tick() 1.67 9.84 0.17 10975345 0.00 0.00 Z80::read(unsigned short, unsigned char), но утечку показал небольшую.
Все любят гипножабу
У меня другое получилось:
Остается вопрос по самой многожрущей процедуре- нафига нужна точность до такта? Все равно процессор не успеет среагировать по любому. Лучше покомандно исполнять и потом синхронизировать остальные устройства по разнице.Код:time seconds seconds calls ms/call ms/call name 19.40 1.45 1.45 10932965 0.00 0.00 Z80::ticks(unsigned char) 18.66 2.84 1.39 82001923 0.00 0.00 Video::tick() 13.83 3.87 1.03 82001923 0.00 0.00 AYProc::tick() 12.55 4.80 0.94 82001923 0.00 0.00 VG93::tick() 9.80 5.53 0.73 82001923 0.00 0.00 Sound::tick() 4.70 5.88 0.35 6499121 0.00 0.00 Z80::exec() 4.30 6.20 0.32 82001923 0.00 0.00 Floppy::tick() 2.15 6.36 0.16 41000961 0.00 0.00 Tape::tick() 2.01 6.51 0.15 526219 0.00 0.00 BDI::in(int) 1.88 6.65 0.14 1 140.00 140.00 Sound::defpars() 1.88 6.79 0.14 1 140.00 140.00 Floppy::step(bool) 1.75 6.92 0.13 std::vector<TapeBlock, std::allocator<TapeBlock> >::push_back(TapeBlock const&) 0.94 6.99 0.07 506185 0.00 0.00 AYProc::getvol() 0.81 7.05 0.06 9001997 0.00 0.00 Memory::rd(unsigned short) 0.81 7.11 0.06 8998720 0.00 0.00 Z80::read(unsigned short, unsigned char) 0.67 7.16 0.05 6499121 0.00 0.00 DebugWin::findbp(BPoint) 0.67 7.21 0.05 Tape::rectick() 0.54 7.25 0.04 9044452 0.00 0.00 Memory::getptr(unsigned short) 0.54 7.29 0.04 572 0.07 12.43 EmulWin::emulframe() 0.40 7.32 0.03 1258389 0.00 0.00 Z80::getopt(unsigned char) 0.27 7.34 0.02 542464 0.00 0.00 Z80::anda(unsigned char)
Да, кстати- бросай эту "экономию". Передавать целочисленный параметр через unsigned char- это тормозно и глупо. Самый оптимальный вариант- юзать std::size_t/std:trdiff_t (заtypedef'ить если влом много печатать) или unsigned/int на худой конец.
Упдатес. Убиение AYProc::tick(), изменение формирования AY/YM звука.
Все любят гипножабу
SAM style, переселился на Debian Squeeze. Загрузка проца в среднем - 70% с запущенным образом. Звук лучше не стал.
zx-info.r RIP
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Дровинки на видео от производителя поставлены? Слабо, но надеюсь, что часть вины на их отсутствии. Если не подтвердится - случай странный, машина у тебя не такая и слабая.
---------- Post added at 21:13 ---------- Previous post was at 21:08 ----------
К слову, у меня что на дровах nvidia, что на иксовых nv - почти одинаково, в районе 16-20%.
А без образа у тебя как?
Все любят гипножабу
SAM style, NVIDIA Driver Version: 190.53
Без образа - ~60
Последний раз редактировалось phant0m; 18.02.2010 в 20:44.
zx-info.r RIP
У меня и подавно все жуть как небыстро.
Да, он тормоз.
Разберусь с делами - распотрошу его ещё раз.
Все любят гипножабу
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)