Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
liujiuri
engine
提交
8f283823
E
engine
项目概览
liujiuri
/
engine
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
engine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8f283823
编写于
1月 08, 2016
作者:
A
Adam Barth
提交者:
Collin Jackson
1月 08, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make RasterCache responsible for prerolling the image
上级
21305459
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
15 addition
and
11 deletion
+15
-11
sky/compositor/picture_layer.cc
sky/compositor/picture_layer.cc
+2
-9
sky/compositor/raster_cache.cc
sky/compositor/raster_cache.cc
+11
-1
sky/compositor/raster_cache.h
sky/compositor/raster_cache.h
+2
-1
未找到文件。
sky/compositor/picture_layer.cc
浏览文件 @
8f283823
...
...
@@ -8,8 +8,6 @@
#include "sky/compositor/checkerboard.h"
#include "sky/compositor/raster_cache.h"
#define ENABLE_RASTER_CACHE 0
namespace
sky
{
namespace
compositor
{
...
...
@@ -24,13 +22,8 @@ PictureLayer::~PictureLayer() {
void
PictureLayer
::
Preroll
(
PaintContext
::
ScopedFrame
&
frame
,
const
SkMatrix
&
matrix
)
{
#if ENABLE_RASTER_CACHE
image_
=
frame
.
context
().
raster_cache
().
GetImage
(
picture_
.
get
(),
matrix
);
if
(
image_
)
{
image_
->
preroll
(
frame
.
gr_context
(),
SkShader
::
kClamp_TileMode
,
SkShader
::
kClamp_TileMode
,
kMedium_SkFilterQuality
);
}
#endif
image_
=
frame
.
context
().
raster_cache
().
GetPrerolledImage
(
frame
.
gr_context
(),
picture_
.
get
(),
matrix
);
}
void
PictureLayer
::
Paint
(
PaintContext
::
ScopedFrame
&
frame
)
{
...
...
sky/compositor/raster_cache.cc
浏览文件 @
8f283823
...
...
@@ -8,6 +8,8 @@
#include "base/logging.h"
#include "third_party/skia/include/core/SkImage.h"
#define ENABLE_RASTER_CACHE 0
namespace
sky
{
namespace
compositor
{
...
...
@@ -32,7 +34,10 @@ RasterCache::Entry::Entry() {
RasterCache
::
Entry
::~
Entry
()
{
}
RefPtr
<
SkImage
>
RasterCache
::
GetImage
(
SkPicture
*
picture
,
const
SkMatrix
&
ctm
)
{
RefPtr
<
SkImage
>
RasterCache
::
GetPrerolledImage
(
GrContext
*
context
,
SkPicture
*
picture
,
const
SkMatrix
&
ctm
)
{
#if ENABLE_RASTER_CACHE
SkScalar
scaleX
=
ctm
.
getScaleX
();
SkScalar
scaleY
=
ctm
.
getScaleY
();
...
...
@@ -67,10 +72,15 @@ RefPtr<SkImage> RasterCache::GetImage(SkPicture* picture, const SkMatrix& ctm) {
SkMatrix
matrix
=
SkMatrix
::
MakeScale
(
scaleX
,
scaleY
);
entry
.
image
=
adoptRef
(
SkImage
::
NewFromPicture
(
picture
,
physical_size
,
&
matrix
,
nullptr
));
entry
.
image
->
preroll
(
context
,
SkShader
::
kClamp_TileMode
,
SkShader
::
kClamp_TileMode
,
kMedium_SkFilterQuality
);
}
}
return
entry
.
image
;
#else
return
nullptr
;
#endif
}
void
RasterCache
::
SweepAfterFrame
()
{
...
...
sky/compositor/raster_cache.h
浏览文件 @
8f283823
...
...
@@ -23,7 +23,8 @@ class RasterCache {
RasterCache
();
~
RasterCache
();
RefPtr
<
SkImage
>
GetImage
(
SkPicture
*
picture
,
const
SkMatrix
&
ctm
);
RefPtr
<
SkImage
>
GetPrerolledImage
(
GrContext
*
context
,
SkPicture
*
picture
,
const
SkMatrix
&
ctm
);
void
SweepAfterFrame
();
private:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录