feat: measure why lessons load slowly, and give a technician the same tool
Measured before changing anything, and nothing about loading changed, because the evidence does not point at Wonder Ink. Same lab, same page, timed by each engine until the sign-in form exists: Wonder Ink 2.86-3.00 s cold and 2.20-2.49 s warm, Chrome 2.79-3.48 s and 1.96-2.15 s. The site is the weight — 119-160 requests and 3.2 MB for a sign-in form, and its console reports loading the Google Maps API twice. Memory about 610 MB for one tab, 115 MB per further tab; idle CPU about 1%. The lab draws in software for both engines, so it cannot show the one likely cause it has no hardware for: QtWebEngine failing to use a classroom's GPU where Chrome succeeds. classroom-wonderink --diagnose, run from the maintenance terminal in the teacher's session, prints the engine versions, the scale, the WebGL renderer (a driver, or software), and the sign-in page's time from a cold cache, in a throwaway profile beside any running Wonder Ink. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
1cb9fd35d2
commit
88ea3e86fd
@@ -313,6 +313,13 @@ check("Wonder Ink is not told twice",
|
||||
# Its PAGES are, because Chrome under Plasma turned out to be scaled twice
|
||||
# (dpr 2.25 at 150%, measured) and a lesson has to be the size teachers
|
||||
# read it at in the browser. The window itself is left to Qt.
|
||||
# A technician's command, never a teacher's: it runs in a throwaway
|
||||
# profile that something owns (an unowned one crashed it), and it never
|
||||
# touches the signed-in profile a teacher may have open beside it.
|
||||
diag = wonderink_code[wonderink_code.index("def diagnose("):wonderink_code.index("def main(")]
|
||||
check("--diagnose uses an owned, throwaway profile",
|
||||
"QWebEngineProfile(app)" in diag and "build_profile" not in diag
|
||||
and '"--diagnose" in sys.argv' in wonderink_code)
|
||||
check("its pages start at the room's scale, which is the browser's size",
|
||||
"room_zoom=ui_scale(config)" in wonderink_code
|
||||
and "self._room_zoom * self._level" in wonderink_code)
|
||||
|
||||
Reference in New Issue
Block a user