Summary: | [Qt] NPAPI: Excessive timer usage and high CPU load | ||
---|---|---|---|
Product: | WebKit | Reporter: | Firuz Kosimov <firuzkosimov> |
Component: | Plug-ins | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | benjamin, davidtlwong, hephooey_dev, ismail, laszlo.gombos, tonikitoo |
Priority: | P2 | Keywords: | Performance, Qt, QtTriaged |
Version: | 528+ (Nightly build) | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | |||
Bug Blocks: | 35962 |
Description
Firuz Kosimov
2009-03-28 11:52:31 PDT
I experience this problem too. Using Qt 4.6 and MSVC2008 on Windows XP. Webkit source is svn trunk r53272. It seems there are too many timer event. I modified SharedTimerQt::start() in WebCore/platform/qt/SharedTimerQt.cpp to: void SharedTimerQt::start(double fireTime) { static int zero_interval_count = 0; double interval = fireTime - currentTime(); unsigned int intervalInMS; if (interval < 0) { intervalInMS = 0; } else { interval *= 1000; intervalInMS = (unsigned int)interval; } if (intervalInMS == 0) { zero_interval_count++; if ((zero_interval_count % 10000) == 0) { printf("zero_interval_count = %d, time = %f\n", zero_interval_count, currentTime()); } } m_timer.start(intervalInMS, this); } on simple flash that only display a digital clock, It records 10,000 m_timer.start() calls, with interval equals zero, in 0.536 second on http://www.adobe.com/flashplatform/ , It records 10,000 m_timer.start() calls, with interval equals zero, in 3.165 second I also see this but without any plugin, one such a page is http://en.m.wikipedia.org/wiki?search=dinasour *** Bug 35777 has been marked as a duplicate of this bug. *** === Bulk closing of Qt bugs === If you believe that this bug report is still relevant for a non-Qt port of webkit.org, please re-open it and remove [Qt] from the summary. If you believe that this is still an important QtWebKit bug, please fill a new report at https://bugreports.qt-project.org and add a link to this issue. See http://qt-project.org/wiki/ReportingBugsInQt for additional guidelines. |