Windows: Constant access to ICC profiles?

Moderators: Klaus, FourthWorld, heatherlaine, kevinmiller, LCMark

Post Reply
malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Windows: Constant access to ICC profiles?

Post by malte » Wed Apr 22, 2015 11:15 am

Hi,

it appears that the engine constantly accesses the ICC Profiles on Win, instead of doing it once and then caching the result. Is this intended behaviour? I have no idea how much this affects performance, however this seems a little unreasonable to me.

Attaching screenshot of the monitoring.
Attachments
Bildschirmfoto 2015-04-22 um 12.11.33.png

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 943
Joined: Thu Apr 11, 2013 11:27 am

Re: Windows: Constant access to ICC profiles?

Post by LCMark » Thu Apr 23, 2015 4:02 pm

@malte: The engine isn't doing that directly - the only direct interaction it has with ICC profiles is when an image is opened and unpacked for display, and only then if it actually has an ICC profile in it. Therefore, I'd imagine this is being caused indirectly by a WIn32 API - potentially to do with rendering. Is the stream continuous? Or only when the engine is doing specific things?

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Thu Apr 23, 2015 8:44 pm

Hi Mark,

it does seem to do it only for certain stacks (not empty ones) but then moving the mouse over it is enough. The stream is continouus. Many many requests every second.

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Thu Apr 23, 2015 8:54 pm

Actually I was wrong. Having an empty stack and doing for example a mousedown in it is enough to trigger...

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Thu Apr 30, 2015 5:05 pm

Is it worth investigating further here?
I assume getting rid to a couple of 100 calls to the ICC profile a second could make a difference in rendering speed?

All the best,

Malte

LCMark
Livecode Staff Member
Livecode Staff Member
Posts: 943
Joined: Thu Apr 11, 2013 11:27 am

Re: Windows: Constant access to ICC profiles?

Post by LCMark » Thu Apr 30, 2015 6:05 pm

I had a quick look at this - the access is occuring each time part of a LiveCode window is redrawn. LiveCode renders content into a special type of system bitmap which is then blitted to the window. I'd imagine that there wouldn't be a great deal to gain here - the time it takes to render graphics is usually the predominant factor; however we can take a look at caching these temporary bitmaps and see if it has much effect.

I don't suppose you happen to have a nice stack which measures framerates? :)

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Thu Apr 30, 2015 8:00 pm

Hey Mark,

if that can be solved in a stack I am really happy to help...

As far as it can, AE tries to calculate framerates, and if I recall correctly it was rather simple to report the framerate of the animation. If that is accurate though is a different story. If you want me to try something, I'd love to give it a shot..

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Thu Apr 30, 2015 8:30 pm

For what it's worth :-D

[edit]Added attachment[/edit]
Attachments
testFrames.livecode.zip
(45.25 KiB) Downloaded 56 times

malte
Posts: 1098
Joined: Thu Feb 23, 2006 8:34 pm
Location: Ostenfeld germany
Contact:

Re: Windows: Constant access to ICC profiles?

Post by malte » Tue May 05, 2015 11:00 am

I made a stack with a little more action...

go stack URL "http://www.derbrill.de/testFrames.livecode"

(can not attach because it is a little too large)

Best,

Malte

Post Reply

Return to “Engine Contributors”